Platform Explorer / Nuxeo Platform 2023.10

Extension point widgettypes

Documentation

A widget type defines how a widget will be displayed in a given mode.

For instance, the text widget type will display a regular text in view mode, and a text input on create or edit modes, with additional message on errors.

Widget types use facelets features to provide this behaviour. Extensions are defined using a class that must follow the {@see org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTypeHandler} interface.

Additional properties can be added to the type registration so that the same class can be reused with a different behaviour given the property value.

Example of a widget type registration:

    <widgetType name="text">
        <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler
          </handler-class>
        <property name="foo">bar</property>
    </widgetType>

Contribution Descriptors

  • Class: org.nuxeo.ecm.platform.forms.layout.descriptors.WidgetTypeDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-diff-jsf-2023.10.13.jar /OSGI-INF/diff-widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="version_diff">
          <configuration>
            <title>Diff between live document and a version</title>
            <sinceVersion>5.7</sinceVersion>
            <description>
              <p>
                The version_diff widget displays difference between the live document and a specific version. If
                nothing is specified, last version is compared.
              </p>
              <p>
                It accepts the following properties:
                <ul>
                  <li>
                    versionLabel: the name of the expected label, defautl is "lastVersion"
                  </li>
                  <li>
                    propertyXPath: the property XPath, default is "file:content"
                  </li>
                  <li>
                    height: the iFrame height, default is "400px"
                  </li>
                </ul>
              </p>
            </description>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <categories>
              <category>summary</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/version_diff_widget_template.xhtml</property>
        </widgetType>
      </extension>
  • nuxeo-platform-actions-jsf-2023.10.13.jar /OSGI-INF/widgettypes-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="actions">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Actions</title>
            <description>
              <p>This widget displays actions.</p>
              <p>
                It needs the list of actions as property "actions".
                <br/>
                Its bound value is used for actions with type "widget".
              </p>
            </description>
            <categories>
              <category>hidden</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="actions_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>actions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_addForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                  </rows>
                  <widget name="actions" type="actions">
                    <labels>
                      <label mode="any">Actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The list of actions to display.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>actions</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/actions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="action">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Action</title>
            <description>
              <p>This widget displays an action.</p>
              <p>
                It needs the action as property "action".
                <br/>
                Its bound value is used for actions with type "widget".
                <br/>
                It can add a form around its button to handle actions with type
                "fancybox" that would need a form in their opened fancybox content.
              </p>
            </description>
            <categories>
              <category>hidden</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="action_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>action</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_addForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                  </rows>
                  <widget name="action" type="action">
                    <labels>
                      <label mode="any">Action</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The action to display.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>action</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/action_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="tabs">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Tabs</title>
            <description>
              <p>This widget displays tabs.</p>
              <p>
                It needs the list of actions as property "actions".
                <br/>
                Its bound value is used for actions with type "widget".
              </p>
            </description>
            <categories>
              <category>hidden</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">false</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="tabs_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>actions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_addForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_link_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_hideSingleTab</widget>
                    </row>
                  </rows>
                  <widget name="actions" type="actions">
                    <labels>
                      <label mode="any">Actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The list of actions to display.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>actions</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/tabs_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-audit-client-2023.10.13.jar /OSGI-INF/layout-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="audit_comments">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <title>Audit comments</title>
            <description>
              <p>
                This widget type displays comments for a log entry, displaying
                links to documents if they are referenced in it.
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.preprocessedComment</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>audit</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/auditcomment_widget_template.xhtml
          </property>
    
        </widgetType>
    
      </extension>
  • nuxeo-platform-comment-web-2023.10.13.jar /OSGI-INF/widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="document_comments_count">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Comments Count</title>
            <description>
              <p>This widget displays how many comments a document has.</p>
              <p>
                It requires the following fields configuration: first field maps
                the document model.
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/comments_count_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-contentview-jsf-2023.10.13.jar /OSGI-INF/widgettypes-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="selectManyCheckboxAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Checkbox</title>
            <description>
              A widget to display aggregate result with checkboxes.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
              <category>aggregates_significant_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout_page_default</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Select</title>
            <description>
              A widget to display aggregate result with select2.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
              <category>aggregates_significant_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyListboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxDirectoryAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Directory Checkbox</title>
            <description>
              A widget to display aggregate result with checkboxes.
              The display label is resolved from a given directory.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectManyCheckboxDirectoryAggregate_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectManyCheckboxDirectoryAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout_page_default</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">
                        directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxDirectoryAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxDirectoryAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Directory Select</title>
            <description>
              A widget to display aggregate result with select2.
              The display label is resolved from a given directory.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectManyListboxDirectoryAggregate_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectManyListboxDirectoryAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">
                        directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxDirectoryAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxDocumentAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Document Checkbox</title>
            <description>Select Many Checkbox Document Aggregate</description>
            <description>
              A widget to display aggregate result with checkboxes.
              The display label the is title of the document.
              It is resolved according to a document id.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="itemLabel">#{nxd:titleFromId(item.key)}</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout_page_default</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxDocumentAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Document Select</title>
            <description>Select2 Document Aggregate Widget</description>
            <description>
              A widget to display aggregate result with select2.
              The display label the is title of the document.
              It is resolved according to a document id.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="itemLabel">#{nxd:titleFromId(item.key)}</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxUserAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>User Checkbox</title>
            <description>Select Many Checkbox User Aggregate</description>
            <description>
              A widget to display aggregate result with checkboxes.
              The display label is resolved from user directory.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="itemLabel">#{nxu:userDisplayName(itemId, itemEntry.user.firstName, itemEntry.user.lastName)}</property>
                <property name="directoryName">#{userManager.userDirectoryName}</property>
                <property name="groupItemLabel">#{nxu:groupDisplayName(itemId, itemEntry.group.grouplabel)}</property>
                <property name="groupDirectoryName">#{userManager.groupDirectoryName}</property>
                <property name="layout">pageDirection</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxUserAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_layout_page_default</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxUserAndGroupAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxUserAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>User Select</title>
            <description>Select2 User Aggregate Widget</description>
            <description>
              A widget to display aggregate result with select2.
              The display label is resolved from user directory.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_terms</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="itemLabel">#{nxu:userDisplayName(itemId, itemEntry.user.firstName, itemEntry.user.lastName)}</property>
                <property name="directoryName">#{userManager.userDirectoryName}</property>
                <property name="groupItemLabel">#{nxu:groupDisplayName(itemId, itemEntry.group.grouplabel)}</property>
                <property name="groupDirectoryName">#{userManager.groupDirectoryName}</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyListboxUserAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxUserAndGroupAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxHistogramAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Histogram Checkbox</title>
            <description>
              A widget to display histogram aggregate result with checkboxes.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_histogram</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
                <property name="order">key desc</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxHistogramAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Histogram Select</title>
            <description>
              A widget to display histogram aggregate result with select2.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_histogram</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
                <property name="order">key desc</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxDateHistogramAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Date Histogram Checkbox</title>
            <description>
              A widget to display date histogram aggregate result with checkboxes.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_date_histogram</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
                <property name="order">key desc</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxDateHistogramAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Date Histogram Select</title>
            <description>
              A widget to display date histogram aggregate result with select2.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_date_histogram</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
                <property name="order">key desc</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxDateRangeAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Date Range Checkbox</title>
            <description>
              A widget to display date range aggregate result with checkboxes.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_date_range</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxDateRangeAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Date Range Select</title>
            <description>
              A widget to display date range aggregate result with select2.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_date_range</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxRangeAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Range Checkbox</title>
            <description>
              A widget to display range aggregate result with checkboxes.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_range</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="layout">pageDirection</property>
                <property name="notDisplayDefaultOption">true</property>
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="moreLessLimit">6</property>
                <property name="emptyChoiceMessage">label.aggregate.emptyChoice</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyCheckboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListboxRangeAggregate">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Range Select</title>
            <description>
              A widget to display date range aggregate result with select2.
            </description>
            <categories>
              <category>aggregates</category>
              <category>aggregates_range</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
                <property name="var">item</property>
                <property name="itemValue">#{item.key}</property>
                <property name="itemCount">(#{item.docCount})</property>
                <property name="placeholder">#{messages['label.vocabulary.selectValue']}</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckboxAggregate_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.contentview.jsf.facelets.plugins.SelectManyListboxAggregateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
      </extension>
  • nuxeo-platform-forms-layout-client-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="text">
          <configuration>
            <title>Text</title>
            <description>
              <p>
                The text widget displays an input text in create or edit mode, with
                additional message tag for errors, and a regular text output in
                any
                other mode.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputText /&gt; tag in create or edit mode, and properties
                accepted on a &lt;h:outputText /&gt; tag in other modes.
              </p>
            </description>
            <demo id="textWidget" previewEnabled="true"/>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
                <type>path</type>
              </supportedTypes>
              <defaultTypes>
                <type>string</type>
              </defaultTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <layouts mode="view">
                <layout name="text_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">escape</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">text_localize</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="text_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">maxlength</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">size</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">alt</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="int">
          <configuration>
            <title>Integer</title>
            <description>
              <p>
                The int widget displays an input text in create or edit mode, with
                additional message tag for errors, and a regular text output in
                any
                other mode. It uses a number converter.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputText /&gt; tag in create or edit mode, and properties
                accepted on a &lt;h:outputText /&gt; tag in other modes.
              </p>
            </description>
            <demo id="intWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>integer</type>
              </supportedTypes>
              <defaultTypes>
                <type>integer</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="int_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="int_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">maxlength</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">size</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">alt</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.IntWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="double">
          <configuration>
            <title>Floating point</title>
            <sinceVersion>5.4.2</sinceVersion>
            <description>
              <p>
                The floating point (aka "double") widget displays an input text in
                create or edit mode, with additional message tag for errors, and a
                regular text output in any other mode. It uses a JSF double
                converter.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputText /&gt; tag in create or edit mode, and properties
                accepted on a &lt;h:outputText /&gt; tag in other modes.
              </p>
            </description>
            <!--<demo id="doubleWidget" /> -->
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>double</type>
              </supportedTypes>
              <defaultTypes>
                <type>double</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="double_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="double_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">maxlength</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">size</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">alt</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DoubleWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="secret">********<configuration>
            <title>Secret</title>
            <description>
              <p>
                The secret widget displays an input secret text in create or edit
                mode, with additional message tag for errors, and nothing in any
                other mode.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputSecret /&gt; tag in create or edit mode.
              </p>
            </description>
            <demo id="secretWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="edit">
                <layout name="secret_widget_type_properties_edit">********<rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">maxlength</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">size</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">alt</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">redisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SecretWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="textarea">
          <configuration>
            <title>Textarea</title>
            <description>
              <p>
                The textarea widget displays a textarea in create or edit mode,
                with
                additional message tag for errors, and a regular text output in
                any
                other mode.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputTextarea /&gt; tag in create or edit mode, and properties
                accepted on a &lt;h:outputText /&gt; tag in other modes.
              </p>
            </description>
            <demo id="textareaWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="textarea_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">escape</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="textarea_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">textarea_cols</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">textarea_rows</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextareaWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="datetime">
          <configuration>
            <title>Datetime</title>
            <description>
              <p>
                The datetime widget displays a javascript calendar in create or
                edit
                mode, with additional message tag for errors, and a regular text
                output in any other mode. It uses a date time converter.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;nxu:inputDatetime /&gt; tag in create or edit mode, and
                properties accepted on a &lt;h:outputText /&gt; tag in other
                modes.
                The converter will also be given these properties.
              </p>
            </description>
            <demo id="datetimeWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>date</type>
              </supportedTypes>
              <defaultTypes>
                <type>date</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="datetime_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">datetime_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_timeZone</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="datetime_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_format</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_locale</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_timeZone</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerImg</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerStyleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DateTimeWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="template">
          <configuration>
            <title>Template</title>
            <description>
              <p>
                The template widget displays a template content whatever the mode.
              </p>
              <p>
                Widgets using this type must provide the path to this template ;
                this template can check the mode to adapt the rendering.
              </p>
              <p>
                Note that the same handler class can be used to define a new widget
                type using a designated template, by registering it as is:
              </p>
              <p>
                &lt;widgetType name="template"&gt; &lt;handler-class&gt;
                org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
                &lt;/handler-class&gt; &lt;property name="template"&gt;
                /widgets/my_custom_widget_template.xhtml &lt;/property&gt;
                &lt;/widgetType&gt; </p>
            </description>
            <demo id="templateWidget" previewEnabled="false"/>
            <categories>
              <category>dev</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>true</complex>
              <supportedTypes>
                <type>*</type>
              </supportedTypes>
            </fields>
            <acceptingSubWidgets>true</acceptingSubWidgets>
            <properties>
              <layouts mode="any">
                <layout name="template_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>template</widget>
                    </row>
                  </rows>
                  <widget name="template" type="selectOneResource">
                    <labels>
                      <label mode="any">Template</label>
                    </labels>
                    <fields>
                      <field>template</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">widget_templates</property>
                    </properties>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="file">
          <configuration>
            <title>File</title>
            <description>
              <p>
                The file widget displays a file uploader/editor in create or edit
                mode, with additional message tag for errors, and a link to the file
                in other modes.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;nxu:inputFile /&gt; tag in create or edit mode, and properties
                accepted on a &lt;nxu:outputFile /&gt; tag in other modes.
              </p>
            </description>
            <demo id="fileWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>blob</type>
              </supportedTypes>
              <defaultTypes>
                <type>blob</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="file_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">file_downloadLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_iconRendered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="file_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_downloadLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_iconRendered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.FileWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="htmltext">
          <configuration>
            <title>HTML text</title>
            <description>
              <p>
                The htmltext widget displays an html text editor in create or edit
                mode, with additional message tag for errors, and a regular text
                output in other modes (without escaping the text).
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;nxu:editor /&gt; tag in create or edit mode, and properties
                accepted on a &lt;nxu:outputText /&gt; tag in other modes.
              </p>
            </description>
            <demo id="htmltextWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="htmltext_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="htmltext_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">htmltext_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">htmltext_height</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">htmltext_disableHtmlInit</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">htmltext_editorSelector</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">htmltext_configuration</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HtmlTextWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectOneListbox">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Select One Listbox</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectOneListbox_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneListboxWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyListbox">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Select Many Listbox</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyListbox_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyListboxWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectOneMenu">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Select One Menu</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <properties>
              <layouts mode="edit">
                <layout name="selectOneMenu_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneMenuWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyMenu">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Select Many Menu</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyMenu_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyMenuWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectOneRadio">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Select One Radio</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectOneRadio_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneRadioWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckbox">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Select Many Checkbox</title>
            <description/>
            <categories>
              <!-- don't export it yet -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <!-- TODO
                <mode>view</mode>
              -->
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="selectManyCheckbox_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select_selectOptions</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_var</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_itemValue</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyCheckboxWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectOneDirectory">
          <configuration>
            <title>Single vocabulary</title>
            <description>
              <p>
                The selectOneDirectory widget displays a selection of vocabulary
                entries in create or edit mode, with additional message tag for
                errors, and the directory entry label in other modes.
              </p>
            </description>
            <demo id="selectOneDirectoryWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.id}</property>
                <property name="ordering">label</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectOneDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="view">
                <layout name="selectOneDirectory_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectOneDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayObsoleteEntries
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_ordering</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyle</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectOneRadioDirectory">
          <configuration>
            <title>Single vocabulary radio</title>
            <description>
              <p>
                This widget displays radio buttons in edit mode for given category.
              </p>
            </description>
            <demo id="selectOneRadioDirectoryWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.id}</property>
                <property name="ordering">label</property>
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectOneRadioDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="view">
                <layout name="selectOneRadioDirectory_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectOneRadioDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayObsoleteEntries
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_ordering</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyle</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneRadioWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyDirectory">
          <configuration>
            <title>Multiple vocabulary</title>
            <description>
              <p>
                The selectManyDirectory widget displays a multi selection of
                vocabulary entries in create or edit mode, with additional message
                tag for errors, and the directory entries labels in other modes.
              </p>
            </description>
            <demo id="selectManyDirectoryWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.id}</property>
                <property name="ordering">label</property>
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectManyDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="view">
                <layout name="selectManyDirectory_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectManyDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayObsoleteEntries
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_ordering</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyle</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="selectManyCheckboxDirectory">
          <configuration>
            <title>Multiple vocabulary checkbox</title>
            <description>
              <p>
                The selectManyCheckboxDirectory widget displays a multi selection
                of
                vocabulary entries in create or edit mode, with additional message
                tag for errors, and the directory entries labels in other modes.
              </p>
            </description>
            <demo id="selectManyCheckboxDirectoryWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="var">item</property>
                <property name="itemValue">#{item.id}</property>
                <property name="ordering">label</property>
                <property name="notDisplayDefaultOption">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="selectManyCheckboxDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directoryName</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directoryNameDemoPreview</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="view">
                <layout name="selectManyCheckboxDirectory_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="selectManyCheckboxDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select_layout</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_displayObsoleteEntries
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_notDisplayDefaultOption
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_ordering</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyle</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_cssStyleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyCheckboxWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="list">
          <configuration>
            <title>List</title>
            <description>
              <p>
                The list widget displays an editable list of items in create or
                edit mode, with additional message tag for errors, and the same list
                of items in other modes. It is not usable within a list widget (see
                sublist widget for this feature).
              </p>
              <p>Items are defined using sub wigdets configuration.</p>
              <p>
                This is actually a template widget type whose template uses a
                &lt;nxu:inputList /&gt; tag in edit or create mode, and a table
                iterating over items in other modes.
              </p>
              <p>
                Since 5.6, it will apply to the current value (e.g. the layout or
                parent widget value) if no field definition is given.
              </p>
            </description>
            <demo id="listWidget" previewEnabled="false"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <acceptingSubWidgets>true</acceptingSubWidgets>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
                <type>path</type>
                <type>date</type>
                <type>blob</type>
                <type>integer</type>
                <type>double</type>
                <type>boolean</type>
                <type>complex</type>
              </supportedTypes>
              <defaultTypes>
                <type>string</type>
                <type>path</type>
                <type>date</type>
                <type>integer</type>
                <type>double</type>
                <type>boolean</type>
                <type>complex</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="any">
                <layout name="list_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">list_subwidgets_display</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">subwidgets_hideSubLabels</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="list_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_diff</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_hideDeleteButton</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_hideAddButton</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_listTemplateItem</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_removeEmpty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_number</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">list_addLabel</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.ListWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/js_list_widget_template.xhtml</property>
          <property name="compatTemplate">/widgets/list_widget_template.xhtml</property>
        </widgetType>
    
        <widgetType name="complex">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Complex</title>
            <description>
              <p>
                The complex widget displays its sub widgets, and is controlling of
                a map-like. Each of the map items rendering is done through sub
                widgets configuration.
              </p>
              <p>
                Since 5.6, it will apply to the current value (e.g. the layout or
                parent widget value) if no field definition is given.
              </p>
            </description>
            <demo id="complexWidget" previewEnabled="false"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <acceptingSubWidgets>true</acceptingSubWidgets>
            <fields>
              <list>false</list>
              <complex>true</complex>
              <supportedTypes>
                <type>complex</type>
              </supportedTypes>
              <defaultTypes>
                <type>complex</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="any">
                <layout name="complex_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">complex_subwidgets_display</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">subwidgets_hideSubLabels</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/complex_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="container">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Container</title>
            <description>
              <p>
                The container widget displays its subwidgets with display options
                to control the rendering of global div container as well as each
                container of sub items, using the widget label as header.
              </p>
              <p>
                If the widget is marked as handling labels (marker available on all
                widgets since 5.6), the header will be displayed. Otherwise it will
                never be displayed.
              </p>
              <p>
                On version 5.6 (only this version), this widget also accepts custom
                properties to add forms around some of its subwidgets. If the
                property with name "nxw_addForm_#{widgetIndex}" is present and
                resolves to true, then a form will be added around the subwidgets at
                index #{widgetIndex}. For instance, adding a property
                "nxw_addForm_0" with value true, the first subwidget will be
                surrounded with a form.
              </p>
              <p>
                From version 5.7, subwidgets hold this information directly, by
                declaring a control with key "addForm" and value "true".
              </p>
              <p>
                It will apply to the current value (e.g. the layout or parent
                widget value) if no field definition is given.
              </p>
            </description>
            <categories>
              <category>decoration</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <acceptingSubWidgets>true</acceptingSubWidgets>
            <handlingLabels>true</handlingLabels>
            <supportedControls>
              <control>requireSurroundingForm</control>
              <control>useAjaxForm</control>
              <control>handlingLabels</control>
            </supportedControls>
            <properties>
              <layouts mode="any">
                <layout name="container_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">container_subwidgets_display</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">container_subwidgets_hideSubLabels
                      </widget>
                    </row>
                    <row>
                      <widget>foldable</widget>
                    </row>
                    <row>
                      <widget>foldedByDefault</widget>
                    </row>
                    <row>
                      <widget>headerStyleClass</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                    <row>
                      <widget>subLabelStyleClass</widget>
                    </row>
                    <row>
                      <widget>subStyleClass</widget>
                    </row>
                    <row>
                      <widget>showIfEmpty</widget>
                    </row>
                    <row>
                      <widget>tip</widget>
                    </row>
                  </rows>
                  <widget name="foldable" type="checkbox">
                    <labels>
                      <label mode="any">Foldable</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, the widget label will be
                        displayed in a header of a box, containing the sub widgets
                        rendering. This box is foldable in javascript. Ignored if
                        the widget is not marked as handling labels as the header
                        will not be displayed in this case. If label is empty, a
                        default label will be shown. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldable</field>
                    </fields>
                  </widget>
                  <widget name="foldedByDefault" type="checkbox">
                    <labels>
                      <label mode="any">Folded by default</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, and property "foldable" is
                        also set to true,
                        the box will be folded by default. Defaults
                        to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldedByDefault</field>
                    </fields>
                  </widget>
                  <widget name="showIfEmpty" type="checkbox">
                    <labels>
                      <label mode="any">Show if empty</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, the widget label will be
                        displayed even if there are no subwidgets. Defaults to
                        false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showIfEmpty</field>
                    </fields>
                  </widget>
                  <widget name="tip" type="text">
                    <labels>
                      <label mode="any">Tip</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Label to display on top of the container
                        widget content, that will be translated if the widget is
                        translated. Available since 5.7.3.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>tip</field>
                    </fields>
                  </widget>
                  <widget name="headerStyleClass" type="text">
                    <labels>
                      <label mode="any">Header style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the header, displaying this
                        widget label.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>headerStyleClass</field>
                    </fields>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the global container div.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                  <widget name="subLabelStyleClass" type="text">
                    <labels>
                      <label mode="any">Sub Label style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the sub widget label.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>subLabelStyleClass</field>
                    </fields>
                  </widget>
                  <widget name="subStyleClass" type="text">
                    <labels>
                      <label mode="any">Sub style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the container of each sub
                        widget.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>subStyleClass</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/container_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="checkbox">
          <configuration>
            <title>Checkbox</title>
            <description>
              <p>
                The checkbox widget displays a checkbox in create, edit and any
                other mode, with additional message tag for errors.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:selectBooleanCheckbox /&gt; tag in create, edit mode, and
                other modes.
              </p>
            </description>
            <demo id="checkboxWidget" previewEnabled="true"/>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>boolean</type>
              </supportedTypes>
              <defaultTypes>
                <type>boolean</type>
              </defaultTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="checkbox_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="checkbox_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">accesskey</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">dir</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">disabled</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">lang</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.CheckboxWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="hidden">
          <configuration>
            <title>Hidden</title>
            <description>
              <p>
                The hidden widget is for a hidden field in create, edit and any
                other mode, with additional message tag for errors.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;h:inputHidden /&gt; tag in create, edit mode, and other modes.
              </p>
            </description>
            <!-- demo does not present it (yet?) -->
            <!--
              <demo id="hiddenWidget" previewEnabled="false"/>
            -->
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="hidden_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">style</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">title</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="hidden_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">immediate</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">validator</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">valueChangeListener</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HiddenWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="layout">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Layout</title>
            <description>
              <p>The layout widget renders a layout.</p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;nxl:layout /&gt; tag in all modes.
              </p>
              <p>
                Since 5.6, it will apply to the current value (e.g. the layout or
                parent widget value) if no field definition is given.
              </p>
            </description>
            <categories>
              <category>dev</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <layouts mode="any">
                <layout name="layout_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>name</widget>
                    </row>
                    <row>
                      <widget>nameDemoPreview</widget>
                    </row>
                    <row>
                      <widget>mode</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">widgetsDisplay</widget>
                    </row>
                    <row>
                      <widget>template</widget>
                    </row>
                  </rows>
                  <widget name="name" type="selectOneResource">
                    <labels>
                      <label mode="any">Layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout name. Since 5.6, this attribute
                        accepts a list of multiple layout names, separated by
                        commas.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>name</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                      <property name="resourceName">layouts</property>
                    </properties>
                  </widget>
                  <widget name="nameDemoPreview" type="text">
                    <labels>
                      <label mode="any">Layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout name. Since 5.6, this attribute
                        accepts a list of multiple layout names, separated by
                        commas.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>name</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="mode" type="text">
                    <labels>
                      <label mode="any">Layout mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If not set, the mode is resolved from the
                        usual widget mode. Otherwise it's taken instead when not
                        empty. WARNING: Before 5.5, mode was not resolved from the
                        widget mode, so this value was required.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>mode</field>
                    </fields>
                  </widget>
                  <widget name="template" type="selectOneResource">
                    <labels>
                      <label mode="any">Template</label>
                    </labels>
                    <fields>
                      <field>template</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">layout_templates</property>
                    </properties>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.LayoutWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="richtext_with_mimetype">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Richtext</title>
            <description>
              <p>
                This widget displays an html text editor or a textarea in create or
                edit mode, depending on the mimetype defined.
              </p>
              <p>
                It accepts two fields bindings:
                <ul>
                  <li>first field holds the text content</li>
                  <li>second field holds the text mimetype (text/plain,
                    text/html...)
                  </li>
                </ul>
              </p>
            </description>
            <categories>
              <!-- do not export with documents -->
              <category>configuration_not_ready</category>
              <!--
                <category>document</category>
              -->
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="richtext_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget>cssClass</widget>
                    </row>
                  </rows>
                  <widget name="cssClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <fields>
                      <field>cssClass</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="richtext_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget>height</widget>
                    </row>
                    <row>
                      <widget>width</widget>
                    </row>
                    <row>
                      <widget>cols</widget>
                    </row>
                    <row>
                      <widget>rows</widget>
                    </row>
                    <row>
                      <widget>editorSelector</widget>
                    </row>
                  </rows>
                  <widget name="width" type="int">
                    <labels>
                      <label mode="any">Width</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The textarea width. Defaults to "700".
                      </label>
                    </helpLabels>
                    <fields>
                      <field>width</field>
                    </fields>
                  </widget>
                  <widget name="height" type="int">
                    <labels>
                      <label mode="any">Height</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The textarea height. Defaults to "400".
                      </label>
                    </helpLabels>
                    <fields>
                      <field>height</field>
                    </fields>
                  </widget>
                  <widget name="cols" type="int">
                    <labels>
                      <label mode="any">Number of columns</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The cols attribute sets the number of
                        columns to display.
                        Available since 5.3.1.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cols</field>
                    </fields>
                  </widget>
                  <widget name="rows" type="int">
                    <labels>
                      <label mode="any">Number of rows</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The rows attribute sets the number of rows
                        to display.
                        Available since 5.3.1.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>rows</field>
                    </fields>
                  </widget>
                  <widget name="editorSelector" type="text">
                    <labels>
                      <label mode="any">Editor selector</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The class to use to identify text areas to
                        turn into html
                        editors. Defaults to "mceEditor". See the
                        editor_selector
                        option in tiny_mce
                        (http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>editorSelector</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/richtext_with_mimetype_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="duration">
          <configuration>
            <sinceVersion>5.3.2</sinceVersion>
            <title>Duration</title>
            <description>
              This widget displays a i18n formatted duration of a field
              holding a
              value measured in seconds (can be Long, Double or String
              valued). NB:
              only view mode is supported right now.
            </description>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
                <type>int</type>
                <type>double</type>
              </supportedTypes>
            </fields>
            <!-- no props -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/duration_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="setVariable">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Set variable</title>
            <description>
              <p>
                This widget exposes a variable to the context for
                rendering,
                allowing its sub widgets to reference it.
              </p>
              <p>
                This is mostly useful to simplify resolution of a variable in sub
                contexts, and benefit from caching on the variable resolution.
              </p>
            </description>
            <properties>
              <layouts mode="any">
                <layout name="set_variable_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>var</widget>
                    </row>
                    <row>
                      <widget>value</widget>
                    </row>
                    <row>
                      <widget>cache</widget>
                    </row>
                    <row>
                      <widget>resolveTwice</widget>
                    </row>
                  </rows>
                  <widget name="var" type="text">
                    <labels>
                      <label mode="any">Variable name</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The variable under which name the value will
                        be exposed, making it available to sub widgets.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>var</field>
                    </fields>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="value" type="text">
                    <labels>
                      <label mode="any">Value</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The value to resolve for the variable name.
                        The variable under which name the value will
                        be exposed,
                        making it available to sub widgets.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>value</field>
                    </fields>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="cache" type="checkbox">
                    <labels>
                      <label mode="any">Cache</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean expressing if exposed value should
                        be cached in the page.
                        If set to true, the variable will be
                        resolved only once per page rendering (or re-rendering in
                        case of ajax requests). Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cache</field>
                    </fields>
                  </widget>
                  <widget name="resolveTwice" type="checkbox">
                    <labels>
                      <label mode="any">Resolve twice</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean expressing if expression should be
                        resolved twice: sometimes the expression uses a
                        configuration element, and the first resolution of the
                        expression will resolve to another expression, that may need
                        to be itself evaluated again. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>resolveTwice</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <categories>
              <category>dev</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <acceptingSubWidgets>true</acceptingSubWidgets>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/set_variable_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-tag-web-2023.10.13.jar /OSGI-INF/tag-widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="select_tags">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Tags selection</title>
            <description>
              <p>
                This widget type allows to select multiple tags.
              </p>
            </description>
            <categories>
              <category>search</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <layouts mode="edit">
                <layout name="select_tags_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget>canSelectNewTag</widget>
                    </row>
                  </rows>
                  <widget name="canSelectNewTag" type="checkbox">
                    <labels>
                      <label mode="any">Can Select New Tag</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Allow to select tags that don't exist yet.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>canSelectNewTag</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select_tags_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-ui-select2-2023.10.13.jar /OSGI-INF/widgettypes-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="select2Widget">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Single generic suggestion (advanced)</title>
            <description>
              <p>Document Suggestion Widget based on Select2 JS library. Nuxeo
                Automation is used to manage Select2 data binding.
              </p>
            </description>
            <categories>
              <category>dev</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="select2_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_operationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_initOperationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">
                        documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idFunction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_labelProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="select2_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_query</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_operationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_initOperationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idFunction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_labelProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_additionalParam</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select2_widget_template.xhtml
          </property>
        </widgetType>
    
    
        <widgetType name="select2WidgetMultiple">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Multiple generic suggestion (advanced)</title>
            <description>
              <p>Multiple Document Suggestion Widget based on Select2 JS library.
                Nuxeo
                Automation is used to manage Select2 data binding.
              </p>
            </description>
            <categories>
              <category>dev</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="select2Multiple_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_operationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_initOperationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">
                        documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idFunction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_labelProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="select2Multiple_widget_type_properties_edit">
                  <rows>
                  <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_query</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_operationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_initOperationId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_idFunction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_labelProperty</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_additionalParam</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_separator</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select2_multiple_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.10.13.jar /OSGI-INF/widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="life_cycle_transitions">
          <configuration>
            <title>Life cycle transitions</title>
            <description>
              This widget type displays a selection of available life cycle
              transitions
              given a life cycle state and a life cycle policy.
              <br/>
              It requires the configuration of the first field to map to a String
              value storing the chosen life cycle transition.
              <br/>
              It needs the following properties configuration:
              <ul>
                <li>
                  lifeCycleName: represents the life cycle from which to retrieve
                  the transitions.
                </li>
                <li>
                  currentLifeCycleState: the current state from where to start
                  finding the available transitions.
                </li>
              </ul>
              <br/>
              A standard definition could be:
              <div class="pre">
                &lt;widget name="life_cycle_transitions"
                type="life_cycle_transitions"&gt;
                &lt;labels&gt;
                &lt;label mode="any"&gt;&lt;/label&gt;
                &lt;/labels&gt;
                &lt;fields&gt;
                &lt;field&gt;contextData['lifeCycleTransition']&lt;/field&gt;
                &lt;/fields&gt;
                &lt;properties widgetMode="edit"&gt;
                &lt;property
                name="currentLifeCycleState"&gt;#{layoutValue.currentLifeCycleState}&lt;/property&gt;
                &lt;property
                name="lifeCycleName"&gt;#{layoutValue.lifeCyclePolicy}&lt;/property&gt;
                &lt;/properties&gt;
                &lt;/widget&gt; </div>
            </description>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="edit">
                <layout name="life_cycle_transitions_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget>lifeCycleName</widget>
                    </row>
                    <row>
                      <widget>currentLifeCycleState</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                  <widget name="lifeCycleName" type="text">
                    <labels>
                      <label mode="any">Lifecycle name</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The lifecycle containing transitions to
                        choose.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>lifeCycleName</field>
                    </fields>
                    <properties mode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="currentLifeCycleState" type="text">
                    <labels>
                      <label mode="any">Current life cycle state</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The life cycle state to choose transitions
                        from.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>currentLifeCycleState</field>
                    </fields>
                    <properties mode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/life_cycle_transitions_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="image">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <title>Image</title>
            <description>
              <p>
                The image widget displays a file uploader/editor in create or edit
                mode, with additional message tag for errors, and an &lt;img&gt; tag
                displaying the image in other modes.
              </p>
              <li>
                width: the width of the img tag in view mode.
              </li>
              <li>
                height: the height of the img tag in view mode.
              </li>
            </description>
            <properties>
              <layouts mode="view">
                <layout name="image_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget>width</widget>
                    </row>
                    <row>
                      <widget>height</widget>
                    </row>
                  </rows>
                  <widget name="width" type="int">
                    <labels>
                      <label mode="any">Width</label>
                    </labels>
                    <fields>
                      <field>width</field>
                    </fields>
                  </widget>
                  <widget name="height" type="text">
                    <labels>
                      <label mode="any">Height</label>
                    </labels>
                    <fields>
                      <field>height</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="image_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget>acceptedExtensions</widget>
                    </row>
                  </rows>
                  <widget name="acceptedExtensions" type="text">
                    <labels>
                      <label mode="any">Accepted extensions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        A comma separated list of supported file
                        extensions. Default value: '.jpg, .jpeg, .png, .gif, .tif,
                        .tiff, .psd, .raw, .ai, .svg, .ps, .eps, .epsi, .epsf, .xcf,
                        .bmp'.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>acceptedExtensions</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>blob</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/image_widget_template.xhtml</property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="select_path_tree">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Path tree</title>
            <description>
              Widget allowing to select one or more values from a Tree
              constructed
              from the navigation tree.
    
              Set 'showAllDomains' property to
              true if you want to be able to select
              a path from an other domain than
              the current one.
            </description>
            <categories>
              <category>search</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
                <type>path</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select_path_tree_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="singleUserSuggestion">
          <configuration>
            <title>Single user/group suggestion</title>
            <sinceVersion>5.4.2</sinceVersion>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="minChars">3</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="singleUserSuggestion_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_firstLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_secondLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_thirdLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideFirstLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideSecondLabel
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideThirdLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayAction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                      </widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="singleUserSuggestion_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_groupRestriction
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_user_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="multipleUsersSuggestion">
          <configuration>
            <title>Multiple users/groups suggestion</title>
            <sinceVersion>5.4.2</sinceVersion>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="minChars">3</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="multipleUsersSuggestion_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_firstLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_secondLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_thirdLabelField
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideFirstLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideSecondLabel
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideThirdLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayAction</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                      </widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="multipleUsersSuggestion_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_groupRestriction
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_separator</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/user_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="suggestOneDirectory">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Single directory suggestion</title>
            <description>
              <p>Uses Select2 JS library to render a selection / suggestion widget
                where suggestions are loaded from a given directory.
              </p>
            </description>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="minChars">0</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="suggestOneDirectory_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_name</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_labelFieldName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="suggestOneDirectory_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_name</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_resultLimit</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_fetch_mode</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_labelFieldName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_canSelectParent</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_filterParent</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directorySuggestion_canAddNewEntry</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directorySuggestion_addNewEntryFilter</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/suggest_one_directory_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="suggestManyDirectory">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Multiple directory suggestion</title>
            <description>
              <p>Uses Select2 JS library to render a selection / suggestion widget
                where suggestions are loaded from a given directory.
              </p>
            </description>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="minChars">0</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="suggestManyDirectory_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_name</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_labelFieldName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_separator</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="suggestManyDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_name</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_resultLimit</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_fetch_mode</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">directory_localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dbl10n</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directory_labelFieldName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_canSelectParent</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_filterParent</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directorySuggestion_canAddNewEntry</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_directorySuggestion_addNewEntryFilter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_separator</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/suggest_many_directory_widget_template.xhtml
          </property>
        </widgetType>
    
        <!-- deprecated since 5.7.3, use a multipleUsersSuggestion with "prefixed" property
          = true now -->
        <widgetType name="multiplePrefixedUsersSuggestion">
          <configuration>
            <title>Multiple prefixed users/groups suggestion</title>
            <sinceVersion>5.4.2</sinceVersion>
            <deprecatedVersion>5.7.3</deprecatedVersion>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <layouts mode="edit">
                <layout name="multiplePrefixedUsersSuggestion_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_requestDelay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_displaySuggestionOnTop
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">userSuggestion_hideSearchTypeText
                      </widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/user_prefixed_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="multipleDocumentsSuggestion">
          <configuration>
            <title>Multiple documents suggestion</title>
            <sinceVersion>5.4.2</sinceVersion>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="pageProviderName">default_document_suggestion</property>
                <property name="documentSchemas">dublincore,common</property>
                <property name="minChars">3</property>
                <property name="restoreSeamCtx">true</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="multipleDocumentsSuggestion_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_subTab</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="multipleDocumentsSuggestion_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_orderable</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_query</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_additionalParam</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_separator</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/multiple_document_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="singleDocumentSuggestion">
          <configuration>
            <title>Single document suggestion</title>
            <sinceVersion>5.5</sinceVersion>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
              <defaultValues mode="edit">
                <property name="pageProviderName">default_document_suggestion</property>
                <property name="documentSchemas">dublincore,common</property>
                <property name="minChars">3</property>
                <property name="restoreSeamCtx">true</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="singleDocumentSuggestion_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_subTab</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="singleDocumentSuggestion_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">placeholder</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_width</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_frequency</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_minChars</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_query</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_containerCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_suggestionFormatter
                      </widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_additionalParam</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_document_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="title_link">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Title with link</title>
            <description>
              <p>
                This widget type displays a link to navigate to a document, as well
                as a download link for the document binary content.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the document link and its title
                  </li>
                  <li>
                    second field maps the unique id to be used for contextual menu
                    (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed link title (can be the document
                    model description)
                  </li>
                  <li>
                    fourth field maps the document model file to be used for
                    download link
                  </li>
                  <li>
                    fifth field maps the file name to be used for download link
                    (can be the document model file name property value)
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following properties configuration:
                <ul>
                  <li>
                    file_schema: the file schema name, used to check whether
                    download link should be displayed (e.g: file)
                  </li>
                  <li>
                    file_property_name: the file property name (e.g file:content)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="title_linkWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:title</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field/>
                <field>ref</field>
                <field>dc.description</field>
                <field>file.content</field>
                <field>file.content.filename</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>standalone</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="hideExternalLink">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="title_link_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>tab</widget>
                    </row>
                    <row>
                      <widget>subTab</widget>
                    </row>
                    <row>
                      <widget>target</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                    <row>
                      <widget>hideExternalLink</widget>
                    </row>
                    <row>
                      <widget>hideDownloadLink</widget>
                    </row>
                  </rows>
                  <widget name="tab" type="text">
                    <labels>
                      <label mode="any">Tab</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The tab to select when clicking on the
                        document link.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>tab</field>
                    </fields>
                  </widget>
                  <widget name="subTab" type="text">
                    <labels>
                      <label mode="any">Sub Tab</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The sub tab to select when clicking on the
                        document link.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>subTab</field>
                    </fields>
                  </widget>
                  <widget name="target" type="text">
                    <labels>
                      <label mode="any">Target</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The target attribute of the link.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>target</field>
                    </fields>
                  </widget>
                  <widget name="localize" type="checkbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Localize</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Flag indicating that the title is localized.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>localize</field>
                    </fields>
                  </widget>
                  <widget name="hideExternalLink" type="checkbox">
                    <labels>
                      <label mode="any">Hide External Link</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Flag indicating that the external link, opening the document
                        in a new conversation, must be hidden.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideExternalLink</field>
                    </fields>
                  </widget>
                  <widget name="hideDownloadLink" type="checkbox">
                    <labels>
                      <label mode="any">Hide Download Link</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Flag indicating that the download link must be hidden.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideDownloadLink</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="title_and_permlink">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Title and permanent link</title>
            <description>
              This widgets displays the document title with a permlink icon. If the
              document is a version, the major and minor are displayed in
              parenthesis.
    
              One field is required :
              <ul>
                <li>an empty field to map the document</li>
              </ul>
    
              Since 5.5, it also displays the document header related actions.
              They
              must be contributed in one of the following categories:
              <ul>
                <li>DOCUMENT_HEADER_ACTIONS_LIST</li>
                <li>DOCUMENT_HEADER_ACTIONS_LIST_HREF</li>
              </ul>
    
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field/>
                <field>uid:major_version</field>
                <field>uid:minor_version</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>standalone</category>
            </categories>
            <properties>
              <layouts mode="any">
                <layout name="title_and_permlink_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                  </rows>
                  <widget name="localize" type="checkbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Localize</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Available since 5.7.1. Flag indicating that
                        the title is localized.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>localize</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/title_with_permlink_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="select_l10n_vocabulary_tree">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <title>Localized vocabulary tree</title>
            <description>
              Widget allowing to select one or more values in a tree
              constructed
              from a l10nvocabulary or l10nxvocabulary directory.
            </description>
            <categories>
              <category>search</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="any">
                <layout name="select_l10n_vocabulary_tree_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>directoryName</widget>
                    </row>
                    <row>
                      <widget>directoryNameDemoPreview</widget>
                    </row>
                    <row>
                      <widget>selectIdOnly</widget>
                    </row>
                    <row>
                      <widget>keySeparator</widget>
                    </row>
                  </rows>
                  <widget name="directoryName" type="selectOneResource">
                    <labels>
                      <label mode="any">Vocabulary</label>
                    </labels>
                    <fields>
                      <field>directoryName</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="resourceName">vocabularies</property>
                    </properties>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="directoryNameDemoPreview" type="text">
                    <labels>
                      <label mode="any">Vocabulary</label>
                    </labels>
                    <fields>
                      <field>directoryName</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                    <properties widgetMode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="selectIdOnly" type="checkbox">
                    <labels>
                      <label mode="any">Select id only</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, only the entries id are
                        stored instead of
                        their path.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>selectIdOnly</field>
                    </fields>
                  </widget>
                  <widget name="keySeparator" type="text">
                    <labels>
                      <label mode="any">Key separator</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The string used to separate directory keys
                        in the value.
                        Defaults to "/".
                      </label>
                    </helpLabels>
                    <fields>
                      <field>keySeparator</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="select_l10n_vocabulary_tree_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget>multiSelect</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                    </row>
                    <row>
                      <widget>ordering</widget>
                    </row>
                  </rows>
                  <widget name="multiSelect" type="checkbox">
                    <labels>
                      <label mode="any">Multiple selection</label>
                    </labels>
                    <fields>
                      <field>multiSelect</field>
                    </fields>
                  </widget>
                  <widget name="ordering" type="selectOneListbox">
                    <labels>
                      <label mode="any">Sort criterion</label>
                    </labels>
                    <fields>
                      <field>ordering</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Label (default)" itemValue="label"/>
                      <option itemLabel="Ordering" itemValue="ordering"/>
                      <option itemLabel="Id" itemValue="id"/>
                    </selectOptions>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select_l10n_vocabulary_tree_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="contentViewWithForms">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Content view</title>
            <description>
              This widget displays a content view, with forms inside it.
    
              Note that usually layouts do not contain any forms, but are surrounded
              by one, and nesting forms breaks the available actions. So you should
              make sure there is no enclosing form around the layout, or around this
              widget, when using it.
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <containingForm>true</containingForm>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="useAjaxPagination">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="contentView_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>contentViewName</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                    <row>
                      <widget>useAjaxForm</widget>
                    </row>
                    <row>
                      <widget>useAjaxPagination</widget>
                    </row>
                    <row>
                      <widget>ajaxReRender</widget>
                    </row>
                    <row>
                      <widget>hideTopPaginationControls</widget>
                    </row>
                    <row>
                      <widget>defaultPageSize</widget>
                    </row>
                    <row>
                      <widget>showPageSizeSelector</widget>
                    </row>
                    <row>
                      <widget>showRefreshCommand</widget>
                    </row>
                    <row>
                      <widget>showFilterForm</widget>
                    </row>
                    <row>
                      <widget>showSyndicationLinks</widget>
                    </row>
                    <row>
                      <widget>showCSVExport</widget>
                    </row>
                    <row>
                      <widget>showPDFExport</widget>
                    </row>
                    <row>
                      <widget>foldable</widget>
                    </row>
                    <row>
                      <widget>foldedByDefault</widget>
                    </row>
                    <!-- not exposed in studio for now -->
                    <row>
                      <widget>foldableBoxStyleClass</widget>
                    </row>
                    <row>
                      <widget>foldedIfEmpty</widget>
                    </row>
                    <row>
                      <widget>hideEmpty</widget>
                    </row>
                    <row>
                      <widget>contentViewIconPath</widget>
                    </row>
                    <!-- not sure this is a good idea: there are other forms in the template -->
                    <!-- <row> <widget>removeForm</widget> </row> -->
                  </rows>
                  <widget name="contentViewName" type="selectOneResource">
                    <labels>
                      <label mode="any">Content View name</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The content view to display.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>contentViewName</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">contentViews</property>
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given style class will be put in a "div"
                        element around the content view.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                  <widget name="useAjaxForm" type="checkbox">
                    <labels>
                      <label mode="any">Use ajax actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, selection actions will be
                        performed using ajax. Note that sometimes, selection actions
                        will require you to reload the whole page for other elements
                        than the content view to be re-rendered, so using ajax will
                        not be user friendly in these cases. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>useAjaxForm</field>
                    </fields>
                  </widget>
                  <widget name="useAjaxPagination" type="checkbox">
                    <labels>
                      <label mode="any">Use ajax pagination</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, pagination actions (first,
                        previous, next, last) actions will be performed using ajax.
                        Defaults to true since version 7.10.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>useAjaxPagination</field>
                    </fields>
                  </widget>
                  <widget name="ajaxReRender" type="text">
                    <labels>
                      <label mode="any">Ajax reRender</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given ajax reRender ids will be added to
                        the zones to
                        reRender on some actions (page navigation,
                        result layout
                        selection, selection actions...). Available
                        since 5.7.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>ajaxReRender</field>
                    </fields>
                  </widget>
                  <widget name="hideTopPaginationControls" type="checkbox">
                    <labels>
                      <label mode="any">Show only bottom pagination controls</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, pagination actions (first,
                        previous, next, last) actions will only be displayed below
                        the results. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideTopPaginationControls</field>
                    </fields>
                  </widget>
                  <widget name="defaultPageSize" type="int">
                    <labels>
                      <label mode="any">Default page size</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The default page size to use instead of the
                        value set on the content view definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>defaultPageSize</field>
                    </fields>
                  </widget>
                  <widget name="showPageSizeSelector" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show page size selector</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide the page size
                        selector, overriding the value set on the content view
                        definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showPageSizeSelector</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="showRefreshCommand" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show refresh command</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide the refresh command,
                        overriding the value set on the content view
                        definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showRefreshCommand</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="showFilterForm" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show filter form</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide the filter form,
                        overriding the value set on the content view
                        definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showFilterForm</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="showSyndicationLinks" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show syndication links</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide syndication links,
                        overriding the value set on the content view
                        definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showSyndicationLinks</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="showCSVExport" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show CSV export</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide the CSV export link,
                        overriding the value set on the content view definition for
                        every result layouts. Warning: the content view result
                        layouts should be configured to handle a CSV export.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showCSVExport</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="showPDFExport" type="selectOneListbox">
                    <labels>
                      <label mode="any">Show PDF export</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to show or hide the PDF export link,
                        overriding the value set on the content view definition for
                        every result layouts. Warning: the content view result
                        layouts should be configured to handle a CSV export.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showPDFExport</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="(Default value from content view configuration)" itemValue=""/>
                      <option itemLabel="No" itemValue="false"/>
                      <option itemLabel="Yes" itemValue="true"/>
                    </selectOptions>
                  </widget>
                  <widget name="foldable" type="checkbox">
                    <labels>
                      <label mode="any">Foldable</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, the content view will be
                        displayed in a box that can be folded/unfolded in
                        javascript. Ignored if the widget is not marked as handling
                        labels as the header will not be displayed in this case. If
                        the widget label is empty, the content view title will be
                        used. If this title is also empty, a default label will be
                        shown. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldable</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="foldedByDefault" type="checkbox">
                    <labels>
                      <label mode="any">Folded by default</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldedByDefault</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <!-- not exposed in studio for now -->
                  <widget name="foldableBoxStyleClass" type="text">
                    <labels>
                      <label mode="any">Foldable Box Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given style class will be used on the
                        foldable box.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldableBoxStyleClass</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="foldedIfEmpty" type="checkbox">
                    <labels>
                      <label mode="any">Folded if empty</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldedIfEmpty</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="hideEmpty" type="checkbox">
                    <labels>
                      <label mode="any">Hide if empty</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Boolean to hide the complete rendering when
                        content view is empty
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideEmpty</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="contentViewIconPath" type="text">
                    <labels>
                      <label mode="any">Content icon path</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The icon to display instead of the value set
                        on the content view definition.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>contentViewIconPath</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="removeForm" type="checkbox">
                    <labels>
                      <label mode="any">Remove form on content listing</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>removeForm</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/content_view_with_forms_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="contentViewSearchLayout">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Content view search layout</title>
            <description>
              This widget displays the search layout of a content view.
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <properties>
              <layouts mode="any">
                <layout name="contentView_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>contentViewName</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                  </rows>
                  <widget name="contentViewName" type="selectOneResource">
                    <labels>
                      <label mode="any">Content View name</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Displays the search layout of this content
                        view.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>contentViewName</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">contentViews</property>
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given style class will be put in a "div"
                        element around the search layout.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/content_view_search_layout_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="saveBox">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Save box</title>
            <description>
              <p>This widget displays a save box with one input for the title and
                one button to save.
              </p>
    
              <p>The input is mapped to the field of the widget.</p>
    
              <p>It needs the action id as property "actionId" for
                the "save" button.
              </p>
            </description>
            <categories>
              <category>configuration_not_ready</category>
              <!--
                <category>tab_designer</category>
              -->
            </categories>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/save_box_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="toggleableLayoutWithForms">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Toggleable form</title>
            <description>
              This widget displays a form layout which mode can be
              toggled, with forms inside it.
    
              Note that usually layouts do not contain
              any forms, but are surrounded by one, and nesting forms breaks the
              available actions. So you should make sure there is no enclosing form
              around the layout, or around this widget, when using it.
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <properties>
              <layouts mode="any">
                <layout name="toggleableLayoutViewWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>initialLayoutName</widget>
                    </row>
                    <row>
                      <widget>initialLayoutNameDemoPreview</widget>
                    </row>
                    <row>
                      <widget>toggledLayoutName</widget>
                    </row>
                    <row>
                      <widget>toggledLayoutNameDemoPreview</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                    <row>
                      <widget>canToggleMode</widget>
                    </row>
                    <row>
                      <widget>hideDefaultActions</widget>
                    </row>
                    <row>
                      <widget>additionalActionsCategory</widget>
                    </row>
                    <row>
                      <widget>additionalActionsCategoryDemo</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">formActionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">widgetsDisplay</widget>
                    </row>
                    <row>
                      <widget>showEditOptions</widget>
                    </row>
                    <row>
                      <widget>useAjaxForm</widget>
                    </row>
                    <row>
                      <widget>foldable</widget>
                    </row>
                    <row>
                      <widget>foldedByDefault</widget>
                    </row>
                    <row>
                      <widget>displayToggleActionInHeader</widget>
                    </row>
                    <row>
                      <widget>initialActionLabel</widget>
                    </row>
                    <row>
                      <widget>cancelActionLabel</widget>
                    </row>
                    <row>
                      <widget>template</widget>
                    </row>
                  </rows>
                  <widget name="initialLayoutName" type="selectOneResource">
                    <labels>
                      <label mode="any">Layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout to display before toggling the
                        mode. Also accepts a list of multiple layout names,
                        separated by commas.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>initialLayoutName</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="resourceName">layouts</property>
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="initialLayoutNameDemoPreview" type="text">
                    <labels>
                      <label mode="any">Layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout to display before toggling the
                        mode. Also accepts a list of multiple layout names,
                        separated by commas.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>initialLayoutName</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="toggledLayoutName" type="selectOneResource">
                    <labels>
                      <label mode="any">Toggled layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout to display after toggling the
                        mode. Also accepts a list of multiple layout names,
                        separated by commas. If not filled, defaults to the initial
                        layout name(s).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>toggledLayoutName</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="resourceName">layouts</property>
                    </properties>
                  </widget>
                  <widget name="toggledLayoutNameDemoPreview" type="text">
                    <labels>
                      <label mode="any">Toggled layout(s)</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout to display after toggling the
                        mode. Also accepts a list of multiple layout names,
                        separated by commas. If not filled, defaults to the initial
                        layout name(s).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>toggledLayoutName</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="template" type="selectOneResource">
                    <labels>
                      <label mode="any">Template</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout template to use instead of the
                        one already set
                        on the layout(s) definition(s).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>template</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="resourceName">layout_templates</property>
                    </properties>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given style class will be put in a "div"
                        element around the layout.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                  <widget name="canToggleMode" type="text">
                    <labels>
                      <label mode="any">Can toggle mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The boolean property to resolve when
                        deciding whether the toggle button should be displayed or
                        not. Defaults to an EL expression checking permission
                        'Write' on the document. Examples: false,
                        #{webActions.checkFilter('canToggleLayoutToEditMode') and
                        currentUser.isMemberOf('togglers_groups')}.
                        Default
                        expression used (includes check for permission 'Write',
                        check if document is in the trash, and check if document is
                        mutable -- not a proxy nor a version):
                        #{webActions.checkFilter('canToggleLayoutToEditMode')}
                      </label>
                    </helpLabels>
                    <fields>
                      <field>canToggleMode</field>
                    </fields>
                  </widget>
                  <widget name="hideDefaultActions" type="checkbox">
                    <labels>
                      <label mode="any">Hide default actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, actions from the default
                        category 'EDIT_DOCUMENT_FORM' will not be displayed on the
                        layout in toggled mode. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideDefaultActions</field>
                    </fields>
                  </widget>
                  <widget name="additionalActionsCategory" type="text">
                    <labels>
                      <label mode="any">Additional actions category</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The additional actions category to use when
                        displaying the layout in toggled mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>additionalActionsCategory</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                  <widget name="additionalActionsCategoryDemo" type="text">
                    <labels>
                      <label mode="any">Additional actions category</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The additional actions category to use when
                        displaying the layout in toggled mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>additionalActionsCategory</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="showEditOptions" type="checkbox">
                    <labels>
                      <label mode="any">Show edit options</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, additional edit options
                        (like a textarea for comment to be visible in the document
                        history) will be visible after the layout in toggled (edit)
                        mode. Only visible if value bound to the layout is a
                        document model. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showEditOptions</field>
                    </fields>
                  </widget>
                  <widget name="displayToggleActionInHeader" type="checkbox">
                    <labels>
                      <label mode="any">Display toggle action in header</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true (and widget has a header,
                        because it handles its label), actions will be displayed in
                        the header. This includes the "toggle" action, as well as
                        "save" actions. Only the "toggle" action is hidden from the
                        rendering when it is displayed on top. "Save" actions are
                        shown twice. Available since 5.7, defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>displayToggleActionInHeader</field>
                    </fields>
                  </widget>
                  <widget name="useAjaxForm" type="checkbox">
                    <labels>
                      <label mode="any">Use ajax actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, actions will be performed
                        using ajax. Note that sometimes, actions will require you to
                        reload the whole page for other elements than the current
                        zone to be re-rendered, so using ajax will not be user
                        friendly in these cases. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>useAjaxForm</field>
                    </fields>
                  </widget>
                  <widget name="initialActionLabel" type="text">
                    <labels>
                      <label mode="any">Initial action label</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The initial action label to display.
                        Defaults to 'action.view.modification' (Edit), is translated
                        when the widget is translated.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>initialActionLabel</field>
                    </fields>
                  </widget>
                  <widget name="cancelActionLabel" type="text">
                    <labels>
                      <label mode="any">Cancel action label</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The toggled action label to display.
                        Defaults to 'command.cancel' (Cancel), is translated when
                        the widget is translated.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cancelActionLabel</field>
                    </fields>
                  </widget>
                  <widget name="foldable" type="checkbox">
                    <labels>
                      <label mode="any">Foldable</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, the layout will be
                        displayed
                        in a box that can be folded/unfolded in
                        javascript. Ignored
                        if the widget is not marked as handling
                        labels as the header
                        will not be displayed in this case. If
                        the widget label is
                        empty, a default label will be
                        shown. Available since 5.7,
                        defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldable</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="foldedByDefault" type="checkbox">
                    <labels>
                      <label mode="any">Folded by default</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Available since 5.7, defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldedByDefault</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/toggleable_layout_with_forms_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="toggleableDocumentLayoutWithForms">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Toggleable Document Form</title>
            <description>
              This widget displays the document layouts of a document
              which mode
              can be toggled, with forms inside it.
    
              Note that usually
              layouts do not contain
              any forms, but are surrounded by one, and
              nesting forms breaks the
              available actions. So you should make sure
              there is no enclosing form
              around the layout, or around this widget,
              when using it.
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <properties>
              <layouts mode="any">
                <layout name="toggleableLayoutViewWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>initialDocumentMode</widget>
                    </row>
                    <row>
                      <widget>toggledDocumentMode</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                    <row>
                      <widget>canToggleMode</widget>
                    </row>
                    <row>
                      <widget>hideDefaultActions</widget>
                    </row>
                    <row>
                      <widget>additionalActionsCategory</widget>
                    </row>
                    <row>
                      <widget>additionalActionsCategoryDemo</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">formActionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">widgetsDisplay</widget>
                    </row>
                    <row>
                      <widget>showEditOptions</widget>
                    </row>
                    <row>
                      <widget>useAjaxForm</widget>
                    </row>
                    <row>
                      <widget>foldable</widget>
                    </row>
                    <row>
                      <widget>foldedByDefault</widget>
                    </row>
                    <row>
                      <widget>displayToggleActionInHeader</widget>
                    </row>
                    <row>
                      <widget>initialActionLabel</widget>
                    </row>
                    <row>
                      <widget>cancelActionLabel</widget>
                    </row>
                    <row>
                      <widget>defaultLayout</widget>
                    </row>
                    <row>
                      <widget>template</widget>
                    </row>
                  </rows>
                  <widget name="initialDocumentMode" type="text">
                    <labels>
                      <label mode="any">Initial document mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The initial document mode to use.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>initialDocumentMode</field>
                    </fields>
                  </widget>
                  <widget name="toggledDocumentMode" type="text">
                    <labels>
                      <label mode="any">Toggled document mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The toggled document mode to use.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>toggledDocumentMode</field>
                    </fields>
                  </widget>
                  <widget name="defaultLayout" type="selectOneResource">
                    <labels>
                      <label mode="any">Default layout</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The default layout to use if no layout are defined
                        for the given document mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>defaultLayout</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">layouts</property>
                    </properties>
                  </widget>
                  <widget name="template" type="selectOneResource">
                    <labels>
                      <label mode="any">Template</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout template to use instead of the
                        one already set
                        on the layout(s) definition(s).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>template</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">layout_templates</property>
                    </properties>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The given style class will be put in a "div"
                        element around the layout.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                  <widget name="canToggleMode" type="text">
                    <labels>
                      <label mode="any">Can toggle mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The boolean property to resolve when
                        deciding whether the toggle button should be displayed or
                        not. Defaults to an EL expression checking permission
                        'Write' on the document. Examples: false,
                        #{nxd:hasPermission(value, 'Write') and
                        currentUser.isMemberOf('togglers_groups')}.
                        Default
                        expression used:
                        #{webActions.checkFilter('canToggleLayoutToEditMode')}
                      </label>
                    </helpLabels>
                    <fields>
                      <field>canToggleMode</field>
                    </fields>
                  </widget>
                  <widget name="hideDefaultActions" type="checkbox">
                    <labels>
                      <label mode="any">Hide default actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, actions from the default
                        category 'EDIT_DOCUMENT_FORM' will not be displayed on the
                        layout in toggled mode. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>hideDefaultActions</field>
                    </fields>
                  </widget>
                  <widget name="additionalActionsCategory" type="text">
                    <labels>
                      <label mode="any">Additional actions category</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The additional actions category to use when
                        displaying the layout in toggled mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>additionalActionsCategory</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                  </widget>
                  <widget name="additionalActionsCategoryDemo" type="text">
                    <labels>
                      <label mode="any">Additional actions category</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The additional actions category to use when
                        displaying the layout in toggled mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>additionalActionsCategory</field>
                    </fields>
                    <widgetModes>
                      <mode value="any">hidden</mode>
                      <mode value="edit_demo_preview">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="showEditOptions" type="checkbox">
                    <labels>
                      <label mode="any">Show edit options</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, additional edit options
                        (like a textarea for comment to be visible in the document
                        history) will be visible after the layout in toggled (edit)
                        mode. Only visible if value bound to the layout is a
                        document model. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>showEditOptions</field>
                    </fields>
                  </widget>
                  <widget name="displayToggleActionInHeader" type="checkbox">
                    <labels>
                      <label mode="any">Display toggle action in header</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true (and widget has a header,
                        because it handles its label), actions will be displayed in
                        the header. This includes the "toggle" action, as well as
                        "save" actions. Only the "toggle" action is hidden from the
                        rendering when it is displayed on top. "Save" actions are
                        shown twice. Available since 5.7, defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>displayToggleActionInHeader</field>
                    </fields>
                  </widget>
                  <widget name="useAjaxForm" type="checkbox">
                    <labels>
                      <label mode="any">Use ajax actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, actions will be performed
                        using ajax. Note that sometimes, actions will require you to
                        reload the whole page for other elements than the current
                        zone to be re-rendered, so using ajax will not be user
                        friendly in these cases. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>useAjaxForm</field>
                    </fields>
                  </widget>
                  <widget name="initialActionLabel" type="text">
                    <labels>
                      <label mode="any">Initial action label</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The initial action label to display.
                        Defaults to 'action.view.modification' (Edit), is translated
                        when the widget is translated.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>initialActionLabel</field>
                    </fields>
                  </widget>
                  <widget name="cancelActionLabel" type="text">
                    <labels>
                      <label mode="any">Cancel action label</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The toggled action label to display.
                        Defaults to 'command.cancel' (Cancel), is translated when
                        the widget is translated.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cancelActionLabel</field>
                    </fields>
                  </widget>
                  <widget name="foldable" type="checkbox">
                    <labels>
                      <label mode="any">Foldable</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, the content view will be
                        displayed in a box that can be folded if users would like to
                        hide this content view content. Note that this state is not
                        persisted. Available since 5.7, defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldable</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                  <widget name="foldedByDefault" type="checkbox">
                    <labels>
                      <label mode="any">Folded by default</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Available since 5.7, defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>foldedByDefault</field>
                    </fields>
                    <widgetModes>
                      <mode value="view_reference">view</mode>
                    </widgetModes>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/toggleable_document_layout_with_forms_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentLayout">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Document Layouts</title>
            <description>
              This widget displays the document layouts of a document
              for the given mode.
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>false</containingForm>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <properties>
              <layouts mode="any">
                <layout name="documentLayoutView_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>mode</widget>
                    </row>
                    <row>
                      <widget>documentMode</widget>
                    </row>
                    <row>
                      <widget>template</widget>
                    </row>
                    <row>
                      <widget>defaultLayout</widget>
                    </row>
                    <row>
                      <widget>canToggleMode</widget>
                    </row>
                  </rows>
                  <widget name="mode" type="text">
                    <labels>
                      <label mode="any">Mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout mode to use.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>mode</field>
                    </fields>
                  </widget>
                  <widget name="documentMode" type="text">
                    <labels>
                      <label mode="any">Document mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The document mode to use.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>documentMode</field>
                    </fields>
                  </widget>
                  <widget name="template" type="selectOneResource">
                    <labels>
                      <label mode="any">Template</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The layout template to use instead of the
                        one already set
                        on the layout(s) definition(s).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>template</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">layout_templates</property>
                    </properties>
                  </widget>
                  <widget name="defaultLayout" type="selectOneResource">
                    <labels>
                      <label mode="any">Default layout</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The default layout to use if no layout are defined
                        for the given document mode.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>defaultLayout</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">layouts</property>
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="canToggleMode" type="text">
                    <labels>
                      <label mode="any">Can toggle mode</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The boolean property to resolve when
                        deciding whether the toggle button should be displayed or
                        not. Defaults to an EL expression checking permission
                        'Write' on the document. Examples: false,
                        #{nxd:hasPermission(value, 'Write') and
                        currentUser.isMemberOf('togglers_groups')}.
                        Default
                        expression used:
                        #{webActions.checkFilter('canToggleLayoutToEditMode')}
                      </label>
                    </helpLabels>
                    <fields>
                      <field>canToggleMode</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/document_layout_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentActions">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Form actions</title>
            <description>
              <p>This widget displays actions filtered on the document given as
                field mapping.
              </p>
              <p>
                It will display actions in the category given in the 'category'
                property. The widget label and help label will be displayed above
                the actions.
              </p>
              <p>
                This widget requires to be surrounded by a form, so if it displays
                fancybox actions for instance, their popup content cannot contain
                another form.
              </p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>false</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="documentActions_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_category</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_actions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="currentDocumentActions">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <deprecatedVersion>5.7.3</deprecatedVersion>
            <title>Form actions</title>
            <description>
              <p>This widget displays actions filtered on the current document.</p>
              <p>Since 5.7.3, use "documentActions" instead.</p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>false</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="currentDocumentActions_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_category</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_actions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentActionsWithForms">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Toolbar actions</title>
            <description>
              <p>This widget displays actions filtered on the document given as
                field mapping, and surrounds them by a form.
              </p>
              <p>
                It will display actions in the category given in the 'category'
                property. The widget label and help label will be displayed above
                the actions.
              </p>
              <p>
                The fact that actions are surrounded by their own form makes it
                possible to use fancybox actions for instance, whose popup content
                would use a different form.
              </p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="documentActionsWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_category</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_actions_with_forms_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="currentDocumentActionsWithForms">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <deprecatedVersion>5.7.3</deprecatedVersion>
            <title>Toolbar actions</title>
            <description>
              <p>This widget displays actions filtered on the current document, and
                surrounds them by a form.
              </p>
              <p>Since 5.7.3, use "documentActionsWithForms" instead.</p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="currentDocumentActionsWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_category</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_actions_with_forms_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentAction">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Form action</title>
            <description>
              <p>This widget displays an action filtered on context using document
                given as field mapping.
              </p>
              <p>
                It needs the action id as property "actionId".
                <br/>
                Its bound value is used for actions with type "widget".
              </p>
              <p>
                This widget requires to be surrounded by a form, so if it displays
                fancybox actions for instance, their popup content cannot contain
                another form.
              </p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>false</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="documentAction_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_actionId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_action_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="currentDocumentAction">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <deprecatedVersion>5.7.3</deprecatedVersion>
            <title>Form action</title>
            <description>
              <p>This widget displays an action filtered on current document context
              </p>
              <p>Since 5.7.3, use "documentAction" instead.</p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>false</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="currentDocumentAction_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_actionId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_addForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_action_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentActionWithForms">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <title>Toolbar action</title>
            <description>
              <p>This widget displays an action filtered on current document context
              </p>
              <p>
                It needs the action id as property "actionId".
                <br/>
                Its bound value is used for actions with type "widget".
              </p>
              <p>
                The fact that action is surrounded by its own form makes it
                possible to use fancybox actions for instance, whose popup content
                would use a different form.
              </p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="documentActionWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_actionId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_action_with_forms_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="currentDocumentActionWithForms">
          <configuration>
            <sinceVersion>5.7</sinceVersion>
            <deprecatedVersion>5.7.3</deprecatedVersion>
            <title>Toolbar action</title>
            <description>
              <p>This widget displays an action filtered on current document context
              </p>
              <p>Since 5.7.3, use "documentActionWithForms" instead.</p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="currentDocumentActionWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">actions_actionId</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_disableFiltered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_action_with_forms_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="documentTabsWithForms">
          <configuration>
            <sinceVersion>5.7.3</sinceVersion>
            <title>Tabs</title>
            <description>
              <p>This widget displays tabs filtered on current document context</p>
              <p>
                It needs the action id as property "actionId".
                <br/>
                Its bound value is used for actions with type "widget".
              </p>
              <p>
                The fact that action is surrounded by its own form makes it
                possible to use fancybox actions for instance, whose popup content
                would use a different form.
              </p>
            </description>
            <categories>
              <category>tab_designer</category>
            </categories>
            <fields>
              <defaultConfiguration>
                <field/>
              </defaultConfiguration>
            </fields>
            <containingForm>true</containingForm>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <defaultValues mode="any">
                <property name="trackCurrentAction">false</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="documentTabsWithForms_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">tabs_category</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">ajaxReRender</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actionsDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">actions_styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_overallDisplay</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_hideSingleTab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">tabs_link_pattern</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/actions/document_tabs_with_forms_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="userVirtualGroups">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <title>User virtual groups</title>
            <description>
              This widget displays the user virtual groups.
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/user_vgoups_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="datetimeRange">
          <configuration>
            <title>Datetime range</title>
            <documentation>
              Widget used to search on a date range.
              Two fields are required:
              <ul>
                <li>A field to map the min date</li>
                <li>A field to map the max date</li>
              </ul>
            </documentation>
            <sinceVersion>5.7</sinceVersion>
            <categories>
              <category>search</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>date</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="edit">
                <property name="startDefaultTime">00:00:00</property>
                <property name="endDefaultTime">23:59:59</property>
              </defaultValues>
              <layouts mode="view">
                <layout name="daterange_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">datetime_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_timeZone</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="daterange_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_format</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_locale</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_timeZone</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerImg</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">datetime_triggerStyleClass</widget>
                    </row>
                    <row>
                      <widget>datetimeRange_startDefaultTime</widget>
                    </row>
                    <row>
                      <widget>datetimeRange_endDefaultTime</widget>
                    </row>
                  </rows>
                  <widget name="datetimeRange_startDefaultTime" type="text">
                    <labels>
                      <label mode="any">Datetime Range Start Default Time</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The start default time, ignore if time is
                        not taken into account in the date pattern/format. Defaults
                        to 00:00:00, available since 7.1.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>startDefaultTime</field>
                    </fields>
                    <controls mode="any">
                      <control name="sinceVersion">7.1</control>
                    </controls>
                  </widget>
                  <widget name="datetimeRange_endDefaultTime" type="text">
                    <labels>
                      <label mode="any">Datetime Range End Default Time</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The end default time, ignore if time is
                        not taken into account in the date pattern/format. Defaults
                        to 23:59:59, available since 7.1.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>endDefaultTime</field>
                    </fields>
                    <controls mode="any">
                      <control name="sinceVersion">7.1</control>
                    </controls>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/date_range_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="path">
          <configuration>
            <title>Path</title>
            <documentation>
              The path widget displays a popup browser in the document
              hierarchy.
            </documentation>
            <sinceVersion>5.7</sinceVersion>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
                <type>path</type>
              </supportedTypes>
              <defaultTypes>
                <type>path</type>
              </defaultTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <layouts mode="edit">
                <layout name="path_widget_type_properties">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/search_path_widget.xhtml</property>
        </widgetType>
    
        <widgetType name="dropZone">
          <configuration>
            <sinceVersion>5.8</sinceVersion>
            <title>Drop zone</title>
            <description>
              <p>
                The dropZone widget wraps its subwidgets with a div acting as
                the
                drop zone to be able to drop files inside it.
              </p>
              <p>
                More information is available on the
                <a href="http://doc.nuxeo.com/x/c4ao" target="_blank">Drag and
                  Drop Service
                  documentation</a>
                .
              </p>
            </description>
            <categories>
              <category>decoration</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <acceptingSubWidgets>true</acceptingSubWidgets>
            <properties>
              <layouts mode="edit">
                <layout name="dropZone_widget_type_properties">
                  <rows>
                    <row>
                      <widget>dropContext</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">styleClass</widget>
                    </row>
                    <row>
                      <widget>isEmpty</widget>
                    </row>
                    <row>
                      <widget>emptyMessage</widget>
                    </row>
                    <row>
                      <widget>cannotDrop</widget>
                    </row>
                    <row>
                      <widget>cannotDropMessage</widget>
                    </row>
                  </rows>
                  <widget name="dropContext" type="text">
                    <labels>
                      <label mode="any">Drop context</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">The drop context is a marker used to
                        identify which action will be called on drop. Actions with
                        the given category will be be taken into account. Their id
                        should correspond to the operation or automation chain
                        identifier.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>dropContext</field>
                    </fields>
                    <properties mode="any">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="isEmpty" type="text">
                    <labels>
                      <label mode="any">Is empty</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">Expression resolving to a boolean stating if
                        the drop zone is empty. If it resolves to true, subwidgets
                        are not displayed.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>isEmpty</field>
                    </fields>
                  </widget>
                  <widget name="emptyMessage" type="text">
                    <labels>
                      <label mode="any">Empty message</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">Message to display if the drop zone is
                        empty.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>emptyMessage</field>
                    </fields>
                  </widget>
                  <widget name="cannotDrop" type="text">
                    <labels>
                      <label mode="any">Cannot drop</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">Expression resolving to a boolean stating if
                        user should not be able to drop elements inside the drop
                        zone (because user does not have enough rights to create
                        documents, for instance).
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cannotDrop</field>
                    </fields>
                  </widget>
                  <widget name="cannotDropMessage" type="text">
                    <labels>
                      <label mode="any">Cannot drop message</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">Message to display if user cannot drop items
                        in the drop zone.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>cannotDropMessage</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/drop_zone_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="chainedDirectory">
          <configuration>
            <title>Chained Vocabulary</title>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <layouts mode="any">
                <layout name="chainedDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>childDirectory</widget>
                    </row>
                    <row>
                      <widget>localize</widget>
                    </row>
                  </rows>
                  <widget name="childDirectory" type="selectOneResource">
                    <labels>
                      <label mode="any">Vocabulary</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Select the child or hierarchical directory
                        mapped.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>childDirectory</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">child_vocabularies</property>
                    </properties>
                    <properties widgetMode="edit">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="localize" type="checkbox">
                    <labels>
                      <label mode="any">Localize</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">If true, labels will be localized.</label>
                    </helpLabels>
                    <fields>
                      <field>localize</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="chainedDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget>required</widget>
                    </row>
                    <row>
                      <widget>allowBranchSelection</widget>
                    </row>
                    <row>
                      <widget>on2rows</widget>
                    </row>
                    <row>
                      <widget>directory_ordering</widget>
                    </row>
                  </rows>
                  <widget name="required" type="checkbox">
                    <labels>
                      <label mode="any">Required</label>
                    </labels>
                    <fields>
                      <field>required</field>
                    </fields>
                  </widget>
                  <widget name="allowBranchSelection" type="checkbox">
                    <labels>
                      <label mode="any">Allow incomplete selection</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, user cannot select only the
                        first item in the selection, he will have to select a second
                        item too. Defaults to false, available since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>allowBranchSelection</field>
                    </fields>
                  </widget>
                  <widget name="on2rows" type="checkbox">
                    <labels>
                      <label mode="any">On 2 rows</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If true, display the selectors on two rows.
                        Defaults to
                        false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>on2rows</field>
                    </fields>
                  </widget>
                  <widget name="directory_ordering" type="selectOneListbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Sort criterion</label>
                    </labels>
                    <fields>
                      <field>ordering</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Label (default)" itemValue="label"/>
                      <option itemLabel="Ordering" itemValue="ordering"/>
                      <option itemLabel="Id" itemValue="id"/>
                    </selectOptions>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/chain_monoselect_2levels_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="multiChainedDirectory">
          <configuration>
            <title>Multiple chained Vocabulary</title>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>document</category>
            </categories>
            <properties>
              <layouts mode="any">
                <layout name="multiChainedDirectory_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>childDirectory</widget>
                    </row>
                    <row>
                      <widget>localize</widget>
                    </row>
                  </rows>
                  <widget name="childDirectory" type="selectOneResource">
                    <labels>
                      <label mode="any">Vocabulary</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Select the child or hierarchical directory
                        mapped.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>childDirectory</field>
                    </fields>
                    <properties mode="any">
                      <property name="resourceName">child_vocabularies</property>
                    </properties>
                    <properties widgetMode="edit">
                      <property name="required">true</property>
                    </properties>
                  </widget>
                  <widget name="localize" type="checkbox">
                    <labels>
                      <label mode="any">Localize</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">If true, labels will be localized.</label>
                    </helpLabels>
                    <fields>
                      <field>localize</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="multiChainedDirectory_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget>required</widget>
                    </row>
                    <row>
                      <widget>allowBranchSelection</widget>
                    </row>
                    <row>
                      <widget>on2rows</widget>
                    </row>
                    <row>
                      <widget>directory_ordering</widget>
                    </row>
                  </rows>
                  <widget name="required" type="checkbox">
                    <labels>
                      <label mode="any">Required</label>
                    </labels>
                    <fields>
                      <field>required</field>
                    </fields>
                  </widget>
                  <widget name="allowBranchSelection" type="checkbox">
                    <labels>
                      <label mode="any">Allow incomplete selection</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to true, user cannot select only the
                        first item in the selection, he will have to select a second
                        item too. Defaults to false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>allowBranchSelection</field>
                    </fields>
                  </widget>
                  <widget name="on2rows" type="checkbox">
                    <labels>
                      <label mode="any">On 2 rows</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If true, display the selectors on two rows.
                        Defaults to
                        false.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>on2rows</field>
                    </fields>
                  </widget>
                  <widget name="directory_ordering" type="selectOneListbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Sort criterion</label>
                    </labels>
                    <fields>
                      <field>ordering</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Label (default)" itemValue="label"/>
                      <option itemLabel="Ordering" itemValue="ordering"/>
                      <option itemLabel="Id" itemValue="id"/>
                    </selectOptions>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/chain_multiselect_2levels_widget.xhtml
          </property>
        </widgetType>
    
        <widgetType name="shuttle">
          <configuration>
            <title>Shuttle widget</title>
            <sinceVersion>6.0</sinceVersion>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/shuttle_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.10.13.jar /OSGI-INF/layouts-listing-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <documentation>
          The widget types from this contribution are intended to be used within a
          layout displaying a table line. They can be configured to match metadata
          from a table iteration item.
          <br/>
    
          The template "/layouts/layout_listing_template.xhtml" handles specific
          configuration for lists of documents rendering. It applies to an item
          instance of SelectDataModel named "documents" in the EL context.
          <br/>
    
          It also requires the following variables to be present in the EL context:
          <ul>
            <li>
              provider: result provider used to get the list of items, its name
              will
              be used, as well as sort and pagination features it provides.
            </li>
            <li>
              layoutListingStatus: iteration status as provided by the "c:forEach"
              tag, used to print table header matching widget label.
            </li>
          </ul>
    
          It accepts the the following properties configuration:
          <ul>
            <li>
              showListingHeader: true or false, used to define whether the table
              header should be displayed. This property can also be passed in the EL
              context, using the table iteration status. Defaults to false.
            </li>
            <li>
              showRowEvenOddClass: true or false, used to define if a style class
              should be set on table rows depending on the layoutListingStatus index
              variable (row or odd). Defaults to false.
            </li>
          </ul>
          Its layout columns accept the following properties configuration:
          <ul>
            <li>
              useFirstWidgetLabelAsColumnHeader: true or false, used to define if
              first widget label should be used as column header label. Will use
              translation settings from the widget configuration. Defaults to false.
            </li>
            <li>
              sortPropertyName: name of the property that will be used by the
              result provider when clicking on the table header. If not set, the
              sort link will not be displayed. Defaults to null.
            </li>
            <li>
              defaultSortAscending: define the initial sort order of the column
              (true : ascending, false : descending) Defaults to null (will be
              interpreted as ascending=true).
            </li>
            <li>
              columnStyleClass: name of the style class that will be used for the
              given column. Defaults to null.
            </li>
          </ul>
        </documentation>
    
        <widgetType name="listing_ajax_selection_box_with_current_document">
          <aliases>
            <alias>listing_selection_box_with_current_document</alias>
          </aliases>
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Ajax selection checkbox with current document</title>
            <description>
              <p>
                This widget type displays a selection checkbox, that will perform
                ajax selection of given item. The current document information is
                also provided to restore current context when clicking on the link.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a boolean representing the selection state
                  </li>
                  <li>
                    second field maps the string identifier used to perform
                    selection
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following variables to be present in the EL
                context:
                <ul>
                  <li>
                    provider: result provider used to get the list of items, its
                    name will be used.
                  </li>
                  <li>
                    listName: the name of the list that will hold selected items
                  </li>
                  <li>currentDocument: the current document</li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>selected</field>
                <field>data.ref</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>hidden_listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_ajax_selection_box">
          <aliases>
            <alias>listing_selection_box</alias>
          </aliases>
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Ajax selection checkbox</title>
            <description>
              <p>
                This widget type displays a selection checkbox, that will perform
                ajax selection of given item.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a boolean representing the selection state
                  </li>
                  <li>
                    second field maps the string identifier used to perform
                    selection
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following variables to be present in the EL
                context:
                <ul>
                  <li>
                    provider: result provider used to get the list of items, its
                    name will be used.
                  </li>
                  <li>
                    listName: the name of the list that will hold selected items
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>selected</field>
                <field>data.ref</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>hidden_listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_ajax_selection_box_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_icon_type">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Icon and document type</title>
            <description>
              <p>
                This widget type displays a draggable icon corresponding to a
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:iconPath will be used to provide its icon
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the icon title (can be the document model
                    type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_icon_typeWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_icon_type_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_big_icon_type">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Big icon and document type</title>
            <description>
              <p>
                This widget type displays a big draggable icon corresponding to a
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:bigIconPath will be used to provide its icon
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed icon title (can be the document
                    model type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays
                    a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_big_icon_typeWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_big_icon_type_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_big_icon_type_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Big icon and document type with link</title>
            <description>
              <p>
                This widget type displays a big draggable icon corresponding to a
                document with a link to the document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, the jsf method
                    nxd:bigIconPath will be used to provide its icon and to display
                    the document link
                  </li>
                  <li>
                    second field maps the unique id to be used as drag/drop
                    identified (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed icon title (can be the document
                    model type)
                  </li>
                  <li>
                    fourth field maps a boolean stating whether the widget
                    displays
                    a droppable zone (e.g. if document is folderish)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_big_icon_type_linkWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.type</field>
                <field>data.folder</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_big_icon_type_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_title_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Title with link</title>
            <description>
              <p>
                This widget type displays a link to navigate to a document, as well
                as a download link for the document binary content.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the document link and its title
                  </li>
                  <li>
                    second field maps the unique id to be used for contextual menu
                    (e.g. the document model id)
                  </li>
                  <li>
                    third field maps the displayed link title (can be the document
                    model description)
                  </li>
                  <li>
                    fourth field maps the document model file to be used for
                    download link
                  </li>
                  <li>
                    fifth field maps the file name to be used for download link
                    (can be the document model file name property value)
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following properties configuration:
                <ul>
                  <li>
                    file_schema: the file schema name, used to check whether
                    download link should be displayed (e.g: file)
                  </li>
                  <li>
                    file_property_name: the file property name (e.g file:content)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_title_linkWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:title</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
                <field>data.ref</field>
                <field>data.dc.description</field>
                <field>data.file.content</field>
                <field>data.file.content.filename</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="hideExternalLink">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="listing_title_link_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_subTab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tabs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_target</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideDownloadLink</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_id_title_link">
          <configuration>
            <sinceVersion>7.4</sinceVersion>
            <title>Document id title with link</title>
            <description>
              <p>
                This widget type displays a link to navigate to a document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document id, it will be used to
                    display the document link
                  </li>
                  <li>
                    second field maps the repository name, it will be used to
                    display the document link
                  </li>
                  <li>
                    third field maps the displayed link title
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_id_title_linkWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:title</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.id</field>
                <field>data.repositoryName</field>
                <field>data.dc.title</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="view">view_documents</property>
                <property name="pattern">id</property>
                <property name="hideExternalLink">true</property>
              </defaultValues>
              <layouts mode="any">
                <layout name="listing_id_title_link_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_subTab</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_tabs</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_target</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_pattern</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_view</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">localize</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_id_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_lock_icon">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Lock icon</title>
            <description>
              <p>This widget type displays a lock icon.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps a property stating that lock icon should be
                    displayed if not empty (e.g. the document model lock state)
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_lock_iconWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.lock</field>
                <field>data.lockInfo</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_lock_icon_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_author">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Author</title>
            <description>
              <p>This widget type displays a user name.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the user identifier</li>
                </ul>
              </p>
            </description>
            <demo id="listing_authorWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:creator</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.dc.creator</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_user_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_last_contributor">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <title>Last contributor</title>
            <description>
              <p>This widget type displays the last contributor name</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the lastContributor field</li>
                </ul>
              </p>
            </description>
            <demo id="listing_last_contributorWidget"/>
            <confProperties>
              <property name="sortPropertyName">dc:lastContributor</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.dc.lastContributor</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/single_user_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <!-- Deprecated since NXP-6825 is fixed but still useful for Studio configuration -->
        <widgetType name="listing_lifecycle">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Lifecycle state</title>
            <description>
              <p>This widget type displays a life cycle state name.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>first field mapping the life cycle state name</li>
                </ul>
              </p>
            </description>
            <demo id="listing_lifecycleWidget"/>
            <confProperties>
              <property name="sortPropertyName">ecm:currentLifeCycleState</property>
            </confProperties>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data.currentLifeCycleState</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_lifecycle_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_livedit_link">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Live edit link</title>
            <description>
              <p>This widget type displays a live edit link.</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field mapping the document model to be used for live
                    edit link
                  </li>
                </ul>
              </p>
              <p>
                It also requires the following properties configuration:
                <ul>
                  <li>file_schema: the file schema name</li>
                  <li>file_field_name: the file field name</li>
                  <li>filename_field_name: the file name field name</li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_livedit_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_version">
          <configuration>
            <sinceVersion>5.4.0</sinceVersion>
            <title>Version</title>
            <description>
              <p>This widget type displays a document model version label</p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field mapping the document model, its version label will
                    be retrieved querying the versioning service
                  </li>
                </ul>
              </p>
            </description>
            <demo id="listing_versionWidget"/>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_version_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_thumbnail">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Thumbnail</title>
            <description>
              <p>This widget type displays the document thumbnail.</p>
              <p>
                It requires the following fields configuration: first field maps
                the document model.
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_thumbnail_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_main_file_size">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Main File Size</title>
            <description>
              <p>
                This widget type displays the size of the main blob of the
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the size.
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_main_file_size_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_main_file_format">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Main File Format</title>
            <description>
              <p>
                This widget type displays the format of the main file of the
                document.
              </p>
              <p>
                It requires the following fields configuration:
                <ul>
                  <li>
                    first field maps the document model, it will be used to
                    display the format.
                  </li>
                </ul>
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_main_file_format_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_manage_document">
          <configuration>
            <sinceVersion>5.9.3</sinceVersion>
            <title>Manage Document</title>
            <description>
              <p>This widget type displays a clickable icon when the document can be
                managed by the current user. Clicking the icon goes directly to the
                manage
                tab.
              </p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>listing</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_manage_document.xhtml
          </property>
    
        </widgetType>
    
      </extension>
  • nuxeo-platform-relations-web-2023.10.13.jar /OSGI-INF/search-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="relation_listing_title_link">
          <configuration>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/relation_listing_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
      </extension>
  • nuxeo-platform-rendition-web-2023.10.13.jar /OSGI-INF/search-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="select_renditionNames">
          <configuration>
            <sinceVersion>8.3</sinceVersion>
            <title>Rendition Names selection</title>
            <description>
              <p>
                This widget type allows to select multiple rendition names.
              </p>
            </description>
            <categories>
              <category>search</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
            </supportedModes>
            <fields>
              <list>true</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
            <properties>
              <defaultValues mode="any">
                <property name="width">50%</property>
              </defaultValues>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/select_rendition_names_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_rendition_source_title_link">
          <configuration>
            <sinceVersion>8.3</sinceVersion>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_rendition_source_title_link_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_rendition_title_link">
          <configuration>
            <sinceVersion>8.3</sinceVersion>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_rendition_title_link_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="info_box">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Info box</title>
            <description>
              <p>
                This widget displays common information about the document, like
                creation date, creator, version, state, contributors, ...
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/info_box_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="extendedFile">
          <configuration>
            <sinceVersion>7.3</sinceVersion>
            <title>Extended File</title>
            <description>
              <p>
                The file widget displays a file uploader/editor in create or edit
                mode, with additional message tag for errors, and a link to the file
                in other modes.
              </p>
              <p>
                Widgets using this type can provide properties accepted on a
                &lt;nxu:inputFile /&gt; tag in create or edit mode, and properties
                accepted on a &lt;nxu:outputFile /&gt; tag in other modes.
              </p>
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>blob</type>
              </supportedTypes>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="file_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">file_downloadLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_iconRendered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
              <layouts mode="edit">
                <layout name="file_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_downloadLabel</widget>
                    </row>
                    <row>
                      <widget category="widgetTypeConf">file_iconRendered</widget>
                    </row>
                  </rows>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <property name="template">/widgets/extended_file_widget.xhtml</property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-core-2023.10.13.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <documentation>
          The widget types from this contribution are intended to be
          used in the summary view. All these widgets are bound to the
          currentDocument in the Seam context.
        </documentation>
    
        <widgetType name="summary_current_document_actions">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <deprecatedVersion>5.6</deprecatedVersion>
            <title>Actions (lock, restore version)</title>
            <description>
              <p>
                This widget displays the actions on the current document
                (lock/unlock and undelete by default).
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                </ul>
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/actions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_custom_actions">
          <configuration>
            <sinceVersion>5.4.2</sinceVersion>
            <deprecatedVersion>5.7</deprecatedVersion>
            <title>Custom actions</title>
            <description>
              <p>This widget displays custom actions on the current document.</p>
              <p>
                It will display actions in the category given in the 'category'
                property (defaults to 'DOCUMENT_SUMMARY_CUSTOM_ACTIONS' when not
                set). The widget label and help label will be displayed above the
                actions.
              </p>
            </description>
            <categories>
              <category>summary</category>
              <category>tab_designer</category>
            </categories>
            <handlingLabels>true</handlingLabels>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <layouts mode="any">
                <layout name="summary_current_document_custom_actions_widget_type_properties_any">
                  <rows>
                    <row>
                      <widget>category</widget>
                    </row>
                    <row>
                      <widget>actionsDisplay</widget>
                    </row>
                    <row>
                      <widget>overallDisplay</widget>
                    </row>
                    <row>
                      <widget>maxActionsNumber</widget>
                    </row>
                    <row>
                      <widget>headerStyleClass</widget>
                    </row>
                    <row>
                      <widget>styleClass</widget>
                    </row>
                    <row>
                      <widget>subStyleClass</widget>
                    </row>
                    <row>
                      <widget>moreMenuLabel</widget>
                    </row>
                  </rows>
                  <widget name="category" type="selectOneResource">
                    <labels>
                      <label mode="any">Category</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The category of actions to use (defaults to
                        DOCUMENT_SUMMARY_CUSTOM_ACTIONS when not set)
                      </label>
                    </helpLabels>
                    <fields>
                      <field>category</field>
                    </fields>
                    <widgetModes>
                      <mode value="edit_demo_preview">hidden</mode>
                    </widgetModes>
                    <properties mode="any">
                      <property name="resourceName">actionCategories</property>
                    </properties>
                  </widget>
                  <widget name="headerStyleClass" type="text">
                    <labels>
                      <label mode="any">Header style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the header, displaying this
                        widget label. Available since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>headerStyleClass</field>
                    </fields>
                  </widget>
                  <widget name="actionsDisplay" type="selectOneListbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Actions display</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        If set to 'buttons', actions will be
                        displayed as command buttons. If set to 'links', actions
                        will be displayed as command links. If set to 'icons',
                        actions will be displayed as icons.
                        Else (default behaviour),
                        actions will be displayed as command links and display their
                        icons when defined.
                      </label>
                    </helpLabels>
                    <fields>
                      <!-- still named display here, kept for BBB -->
                      <field>display</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Icons and links (default)" itemValue="icons_links"/>
                      <option itemLabel="Icons" itemValue="icons"/>
                      <option itemLabel="Buttons" itemValue="buttons"/>
                      <option itemLabel="Links" itemValue="links"/>
                    </selectOptions>
                  </widget>
                  <widget name="overallDisplay" type="selectOneListbox">
                    <categories>
                      <category>widgetTypeConf</category>
                    </categories>
                    <labels>
                      <label mode="any">Overall display</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Overall display of actions, available since
                        5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>overallDisplay</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Vertical block (default)" itemValue=""/>
                      <option itemLabel="Horizontal block" itemValue="horizontal_block"/>
                      <option itemLabel="Menu" itemValue="menu"/>
                    </selectOptions>
                  </widget>
                  <widget name="styleClass" type="text">
                    <labels>
                      <label mode="any">Style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for the global container div.
                        Available since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>styleClass</field>
                    </fields>
                  </widget>
                  <widget name="subStyleClass" type="text">
                    <labels>
                      <label mode="any">Sub style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for div containing actions.
                        Available since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>subStyleClass</field>
                    </fields>
                  </widget>
                  <widget name="actionStyleClass" type="text">
                    <labels>
                      <label mode="any">Action style class</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Style class for each action link. Available
                        since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>subStyleClass</field>
                    </fields>
                  </widget>
                  <widget name="maxActionsNumber" type="int">
                    <labels>
                      <label mode="any">Maximum number of actions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        Integer indicating the maximum number of
                        actions to display. When this limit is reached, other
                        actions are displayed in a menu. Available since 5.6.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>maxActionsNumber</field>
                    </fields>
                  </widget>
                  <widget name="moreMenuLabel" type="text">
                    <labels>
                      <label mode="any">Label for the "more" menu</label>
                    </labels>
                    <fields>
                      <field>moreMenuLabel</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/custom_actions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_description">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Description</title>
            <description>
              <p>This widget displays the description of the currentDocument.</p>
              <p>
                Since 5.6, it also displays the creation date, author and version
                beneath the description.
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                  <li>currentDocumentVersionInfo: the current document version
                    information</li>
                </ul>
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/description_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_files">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Files</title>
            <description>
              <p>This widget displays the files held by the currentDocument</p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                  <li>
                    currentDocumentAsBlobHolder: the BlobHolder on the
                    currentDocument
                  </li>
                  <li>
                    conversionActions: the Seam Bean wrapping the
                    conversionService
                  </li>
                  <li>liveEditHelper: the Seam Bean encapsulating LiveEdit</li>
                </ul>
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/content_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_view">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>View layout</title>
            <description>
              <p>This widget displays the view layouts of the currentDocument</p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                  <li>currentDocumentType: the type of the current document</li>
                </ul>
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/metadata_custom_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_dublincore">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Dublincore</title>
            <description>
              <p>
                This widget displays the dublincore layout of the currentDocument.
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                </ul>
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/metadata_dc_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_tagging">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Tagging</title>
            <description>
              This widget displays the tags for the currentDocument and
              allows to add new ones. It requires the tag service to be deployed.
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="width">100%</property>
              </defaultValues>
            </properties>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/tagging_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_relations">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Relations</title>
            <description>
              This widget displays the in/out relations for the
              currentDocument. It requires the Relation service to be deployed.
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/relations_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_comments">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Comments</title>
            <description>
              This widget displays the comments for the currentDocument.
              It requires the Comment service to be deployed.
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/comments_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_publications">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Publications</title>
            <description>
              This widget displays the publications of the
              currentDocument. It requires the Publisher service to be deployed.
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/publication_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_lc_and_version">
          <configuration>
            <sinceVersion>5.3.1</sinceVersion>
            <title>Life cycle state and version</title>
            <description>
              <p>
                This widget displays the life-cycle state and version of the
                currentDocument.
              </p>
              <p>
                Since 5.6, this widget is not used by default, it's replaced by the
                widget named "summary_current_document_states".
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                  <li>
                    currentDocumentVersionInfo: the current document versionning
                    information
                  </li>
                </ul>
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/lc_and_version_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_single_tasks">
          <configuration>
            <sinceVersion>5.3.2</sinceVersion>
            <title>Tasks</title>
            <description>
              <p>
                This widget displays the single tasks (out of a process instance)
                attached to current document model.
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>
                    currentSingleTasks: the single tasks attached to current
                    document
                  </li>
                </ul>
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <containingForm>true</containingForm>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/single_tasks_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_states">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>States</title>
            <description>
              <p>
                This widget displays current document state (life cycle state and
                lock status)
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/states_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="summary_current_document_contributors">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Contributors</title>
            <description>
              <p>
                This widget displays the document contributors.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/contributors_widget_template.xhtml
          </property>
        </widgetType>
      </extension>
  • nuxeo-platform-rendition-web-2023.10.13.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <documentation>
          Contribute a Summary widget to display available rendition on the currentDocument
        </documentation>
    
        <widgetType name="summary_current_document_renditions">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Available renditions</title>
            <description>
              <p>
                This widgets displays the available renditions on the current Document.
              </p>
              <p>
                It requires the following variables to be present in the EL context:
                <ul>
                  <li>currentDocument: the current document</li>
                </ul>
              </p>
            </description>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/renditions_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-audio-jsf-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="audio_player">
          <configuration>
            <sinceVersion>5.8</sinceVersion>
            <title>Audio Player</title>
            <description>
              <p>This widgets displays a html5 or flash audio player</p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <!-- set configuration not ready until Studio knows how to manage that
                kind of configuration -->
              <category>configuration_not_ready</category>
              <!--
                <category>summary</category>
              -->
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <layouts mode="any">
                <layout>
                  <rows>
                    <row>
                      <widget>field_0</widget>
                    </row>
                    <row>
                      <widget>field_1</widget>
                    </row>
                  </rows>
                  <widget name="field_0" type="text">
                    <labels>
                      <label mode="any">Bound document</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The bound document can be referenced using
                        an empty field definition in a form layout, or using the
                        equivalent expression "#{value}". In a listing layout, it
                        can be referenced by using the value "data".
                      </label>
                    </helpLabels>
                    <properties mode="any">
                      <property name="resourceName">fields</property>
                    </properties>
                  </widget>
                  <widget name="field_1" type="selectOneResource">
                    <labels>
                      <label mode="any">File field binding</label>
                    </labels>
                    <properties mode="any">
                      <property name="resourceName">fields</property>
                      <property name="list">false</property>
                      <property name="complex">false</property>
                      <propertyList name="supportedTypes">
                        <value>blob</value>
                      </propertyList>
                    </properties>
                  </widget>
                </layout>
              </layouts>
            </fields>
            <properties>
              <layouts mode="view">
                <layout name="video_player_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget>width</widget>
                    </row>
                  </rows>
                  <widget name="width" type="int">
                    <labels>
                      <label mode="any">Width</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The width of the Audio player.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>width</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/audio_player_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="audio_file">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Audio File</title>
            <description>
              <p>
                The audio widget displays a file uploader/editor in create or edit
                mode, with additional message tag for errors.
              </p>
            </description>
            <properties>
              <layouts mode="edit">
                <layout name="audio_file_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget>acceptedExtensions</widget>
                    </row>
                  </rows>
                  <widget name="acceptedExtensions" type="text">
                    <labels>
                      <label mode="any">Accepted extensions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        A comma separated list of supported file
                        extensions. Default value: '.mp3, .ogg, .oga, .flac, .m4a,
                        .aac, .ac3, .aif, .aiff, .aifc, .au, .snd, .asf, .wav'.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>acceptedExtensions</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>blob</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/audio_file_widget_template.xhtml</property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-imaging-jsf-2023.10.13.jar /OSGI-INF/imaging-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="picture_view">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Picture view</title>
            <description>
              <p>
                The picture_view widget displays the configured View of a document
                having the Picture facet.
              </p>
              <p>
                It requires the following fields configuration: first field maps
                the document model.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <properties>
              <layouts mode="view">
                <layout name="picture_view_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget>pictureView</widget>
                    </row>
                    <row>
                      <widget>width</widget>
                    </row>
                    <row>
                      <widget>height</widget>
                    </row>
                  </rows>
                  <widget name="pictureView" type="selectOneListbox">
                    <labels>
                      <label mode="any">Picture view</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The name of the picture view, defaults to
                        'Medium'.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>pictureView</field>
                    </fields>
                    <selectOptions>
                      <option itemLabel="Medium (default value)" itemValue="Medium"/>
                      <option itemLabel="Small" itemValue="Small"/>
                      <option itemLabel="Thumbnail" itemValue="Thumbnail"/>
                      <option itemLabel="OriginalJpeg" itemValue="OriginalJpeg"/>
                    </selectOptions>
                  </widget>
                  <widget name="width" type="int">
                    <labels>
                      <label mode="any">Width</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The width of the image.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>width</field>
                    </fields>
                  </widget>
                  <widget name="height" type="text">
                    <labels>
                      <label mode="any">Height</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The height of the image.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>height</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/picture_view_widget_template.xhtml</property>
        </widgetType>
    
        <widgetType name="dimensions">
          <configuration>
            <sinceVersion>7.1</sinceVersion>
            <title>Dimensions</title>
            <description>
              <p>
                The dimensions widget displays the dimensions of an image as "{width} x {height}".
              </p>
              <p>
                The first field maps to the width, the second one to the height.
              </p>
            </description>
            <handlingLabels>false</handlingLabels>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/dimensions_widget_template.xhtml</property>
        </widgetType>
    
        <widgetType name="picture_additional_formats">
          <configuration>
            <sinceVersion>7.1</sinceVersion>
            <title>Picture additional formats</title>
            <description>
              <p>
                This widget displays the list of additional
                formats for the given Picture document.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/picture_additional_formats_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-platform-webapp-base-2023.10.13.jar /OSGI-INF/collection-layout-summary-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
        <widgetType name="summary_current_document_collections">
          <configuration>
            <sinceVersion>5.9.3</sinceVersion>
            <title>Collections</title>
            <description>
              <p>
                This widget displays the collections the document is in.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/collections_widget_template.xhtml
          </property>
        </widgetType>
      </extension>
  • nuxeo-platform-video-jsf-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="video_player">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Video player</title>
            <description>
              <p>
                This widget displays a HTML5 video player for browsers
                supporting
                it, and fallback on a Flash player for others.
                It uses the WebM or
                MP4 conversion (in 480p) of
                a document having the facet 'Video'.
              </p>
              <p>
                It requires the following fields configuration: first field maps
                the document model.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <properties>
              <layouts mode="view">
                <layout name="video_player_widget_type_properties_view">
                  <rows>
                    <row>
                      <widget>width</widget>
                    </row>
                    <row>
                      <widget>height</widget>
                    </row>
                  </rows>
                  <widget name="width" type="text">
                    <labels>
                      <label mode="any">Width</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The width attribute of the Video player, eg. 100%, 550px or 450.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>width</field>
                    </fields>
                  </widget>
                  <widget name="height" type="text">
                    <labels>
                      <label mode="any">Height</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        The height attribute of the Video player, eg. 550px, 450.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>height</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
          </configuration>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/video_player_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="video_storyboard">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Video storyboard</title>
            <description>
              <p>
                This widget displays the story board of
                a document having the facet
                'Video'.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/video_storyboard_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="video_conversions">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Video conversions</title>
            <description>
              <p>
                This widget displays the list of available
                video conversions for the
                given Video document.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/video_conversions_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="video_info">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Video info</title>
            <description>
              <p>
                This widget displays the information of the main video of
                a document
                having the facet 'Video'.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/video_info_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="video_file">
          <configuration>
            <sinceVersion>5.7.2</sinceVersion>
            <title>Video File</title>
            <description>
              <p>
                The video widget displays a file uploader/editor in create or edit
                mode, with additional message tag for errors.
              </p>
            </description>
            <properties>
              <layouts mode="edit">
                <layout name="video_file_widget_type_properties_edit">
                  <rows>
                    <row>
                      <widget category="widgetTypeConf">required</widget>
                    </row>
                    <row>
                      <widget>acceptedExtensions</widget>
                    </row>
                  </rows>
                  <widget name="acceptedExtensions" type="text">
                    <labels>
                      <label mode="any">Accepted extensions</label>
                    </labels>
                    <helpLabels>
                      <label mode="any">
                        A comma separated list of supported file
                        extensions. Default value: '.mpg, .mpe, .mpeg, .wmv, .swf,
                        .ogg, .ogv, .mkv, .mov, .qt, .avi, .mp4, .m4v, .flv, .fla'.
                      </label>
                    </helpLabels>
                    <fields>
                      <field>acceptedExtensions</field>
                    </fields>
                  </widget>
                </layout>
              </layouts>
            </properties>
            <categories>
              <category>document</category>
            </categories>
            <supportedModes>
              <mode>edit</mode>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>blob</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">/widgets/video_file_widget_template.xhtml</property>
        </widgetType>
    
      </extension>
  • nuxeo-preview-jsf-2023.10.13.jar /OSGI-INF/widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="documentPreview">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Document Preview</title>
            <description>
              <p>This widget type displays the document preview.</p>
            </description>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <defaultConfiguration>
                <field>data</field>
              </defaultConfiguration>
            </fields>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/document_preview_widget.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-routing-web-2023.10.13.jar /OSGI-INF/document-routing-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="summary_current_route_action">
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/summary_current_route_action.xhtml
          </property>
        </widgetType>
        <widgetType name="summary_current_route_actions_lock">
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/summary_actions_lock_route_widget_template.xhtml
          </property>
        </widgetType>
        <widgetType name="summary_document_route_action">
          <configuration>
            <sinceVersion>1.8</sinceVersion>
            <title>Related route summary</title>
            <description>
              This widgets allows to view/start a route related
              to the current Case.
            </description>
            <categories>
              <!-- deprecated summary => remove from this category -->
              <!-- <category>summary</category> -->
              <category>cmf</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <mode>edit</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/summary_document_route_action.xhtml
          </property>
        </widgetType>
      </extension>
  • nuxeo-routing-dashboard-2023.10.13.jar /OSGI-INF/document-routing-dashboard-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="listing_process_task">
          <configuration>
            <title>Listing process task link</title>
            <documentation>
              Two fields are required:
              <ul>
                <li>A field to map the task</li>
                <li>A field to map the targetDocumentId on the task</li>
              </ul>
            </documentation>
            <sinceVersion>5.7.3</sinceVersion>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_process_task_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_workflow_name_task">
          <configuration>
            <title>Listing the name of the workflow that created the task
            </title>
            <documentation>
              A field is required:
              <ul>
                <li>A field to map the processId on the task</li>
              </ul>
            </documentation>
            <sinceVersion>5.7.3</sinceVersion>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_workflow_name_task_widget_template.xhtml
          </property>
        </widgetType>
      </extension>
  • nuxeo-routing-web-2023.10.13.jar /OSGI-INF/document-routing-table-widgets-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="remove_step">
          <documentation>
            This remove_step widget displays a link to delete a step.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>The step document Id.</li>
            </ul>
            @Deprecated since 5.9.2
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/remove_step_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="add_step">
          <documentation>
            This add_step widget displays three different links.
            <br/>
            Add before will add a new step before the selected step. Add in
            will add
            a new step at the end of the container. Add after will
            add a new step
            after the selected step.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>The step document.</li>
              <li>The step document Id.</li>
              <li>A Boolean used to render the Add In Button if true.</li>
            </ul>
            @Deprecated since 5.9.2
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/add_step_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_document_route_folder_element_type">
          <documentation>
            This widget type displays an icon representing the type of
            folder,
            "Serial" or "Parallel "
            @Deprecated since 5.9.2
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>the documentRouteElement</li>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_document_route_folder_element_type_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_document_route_element_type">
          <documentation>
            This widget type displays the type and the type icon of the
            document.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>the document type icon</li>
              <li>the document type</li>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_document_route_element_type_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_document_route_element_actors">
          <documentation>
            This widget type displays the actors of the document.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>the document actors</li>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/user_prefixed_suggestion_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_edit_document_route_element">
          <documentation>
            This widget type allows to edit a route element
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>the route documuent model</li>
              <li>the route documuent model id</li>
            </ul>
            @Deprecated since 5.9.2
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_edit_document_route_element_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_no_comments">
          <documentation>
            This widget type displays the number of comments
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>the step documuent model</li>
              <li/>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_no_comments_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_route_title_link">
    
          <documentation>
            Override the default widget to add useful information for
            selenium. This
            widget type displays a link to navigate to a
            document, as well as a
            download link for the document binary
            content.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, it will be used to
                display the
                document link and its title
              </li>
              <li>
                second field maps the unique id to be used for contextual
                menu (e.g.
                the document model id)
              </li>
              <li>
                third field maps the displayed link title (can be the
                document model
                description)
              </li>
              <li>
                fourth field maps the document model file to be used for
                download
                link
              </li>
              <li>
                fifth field maps the file name to be used for download
                link (can be
                the document model file name property value)
              </li>
            </ul>
            It also requires the following properties configuration:
            <ul>
              <li>
                file_schema: the file schema name, used to check whether
                download
                link should be displayed
              </li>
              <li>file_property_name:</li>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_route_title_link_widget_template.xhtml
          </property>
    
        </widgetType>
    
        <widgetType name="listing_document_route_element_state">
          <documentation>
            This remove_step widget displays a link to delete a step.
            <br/>
            It requires the following fields configuration:
            <ul>
              <li>The document current lifeCycleState.</li>
            </ul>
          </documentation>
    
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_document_route_element_state_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-routing-web-2023.10.13.jar /OSGI-INF/layouts-summary-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
        <widgetType name="summary_document_route">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Workflow Process</title>
            <description>
              <p>
                If there is no route started on the current document, this widget
                displays a form to select and launch a workflow.
              </p>
              <p>
                If there is already a route started, it displays the name of
                the started route.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>summary</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/document_route_widget_template.xhtml
          </property>
        </widgetType>
      </extension>
  • nuxeo-routing-web-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="current_route_description">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Description</title>
            <description>
              <p>This widget displays the name, description, author and
                creation
                date
                of the current route started on the current
                document.
              </p>
            </description>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/route/current_route_description_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="current_route_show_graph">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Description</title>
            <description>
              <p>
                This widget displays the graph of the current route in a
                Fancybox
                popup.
              </p>
              A field to map the id of the document representing
              the workflow
              instance is required.
            </description>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
              <fields>
                <list>false</list>
                <complex>false</complex>
                <supportedTypes>
                  <type>string</type>
                </supportedTypes>
              </fields>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/route/current_route_show_graph_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="current_route_abandon">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Description</title>
            <description>
              <p>
                This widget displays an 'Abandon' action to cancel the
                current
                route
                started on the current document.
              </p>
            </description>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/route/current_route_abandon_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="current_route_user_tasks">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Description</title>
            <description>
              <p>
                This widget displays the user tasks of the current route on
                the
                current document. Duplicate of
                "summary_current_document_single_tasks" widget.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <containingForm>true</containingForm>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/single_tasks_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="current_route_open_tasks">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>Description</title>
            <description>
              <p>
                This widget displays all the open tasks of the current
                route
                on the
                current document.
              </p>
            </description>
            <handlingLabels>true</handlingLabels>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/route/current_route_open_tasks_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="task_workflow_title">
          <configuration>
            <title>
              Task workflow title
            </title>
            <description>
              <p>
                Displays the name of the worklow for a task, inside a h1 tag.
              </p>
              Two fields are required:
              <ul>
                <li>A field to map the task</li>
                <li>A field to map the task name</li>
              </ul>
            </description>
            <sinceVersion>5.8</sinceVersion>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/task/task_workflow_title_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="task_workflow_name">
          <configuration>
            <title>
              Task workflow name
            </title>
            <description>
              <p>
                Displays the name of the worklow for a task.
              </p>
              Two fields are required:
              <ul>
                <li>A field to map the task</li>
                <li>A field to map the task name</li>
              </ul>
            </description>
            <sinceVersion>5.8</sinceVersion>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/task/task_workflow_name_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="task_layout_with_actions">
          <configuration>
            <title>Listing the layout configured on Studio for the task or
              default
              actions for non routing tasks
            </title>
            <documentation>
              Two fields are required:
              <ul>
                <li>A field to map the task</li>
                <li>A field to map the task id</li>
              </ul>
            </documentation>
            <sinceVersion>5.8</sinceVersion>
            <categories>
              <category>routing</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <fields>
              <list>false</list>
              <complex>false</complex>
              <supportedTypes>
                <type>string</type>
              </supportedTypes>
            </fields>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/task/task_layout_with_actions_widget.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-search-ui-2023.10.13.jar /OSGI-INF/search-layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="search_view_title">
          <configuration>
            <sinceVersion>6.0</sinceVersion>
            <title>Search View Title</title>
            <description>
              <p>
                This widget type displays the title of the search view: the title of
                the selected saved search, or the title of the selected content view.
              </p>
              <p>
              </p>
            </description>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /search/widgets/search_view_title_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-user-dashboard-jsf-2023.10.13.jar /OSGI-INF/layouts-listing-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
    
        <widgetType name="listing_task_name">
          <configuration>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_task_name_widget_template.xhtml
          </property>
        </widgetType>
    
        <widgetType name="listing_process_name">
          <configuration>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/listing/listing_process_name_widget_template.xhtml
          </property>
        </widgetType>
    
      </extension>
  • nuxeo-user-profile-jsf-2023.10.13.jar /OSGI-INF/layouts-contrib.xml
    <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
        <widgetType name="summary_user_profile">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <deprecatedVersion>5.9.2</deprecatedVersion>
            <title>User Profile Summary</title>
            <description>
              <p>This widget displays the user profile layout.</p>
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <properties>
              <defaultValues mode="any">
                <property name="name">user,userprofile</property>
              </defaultValues>
            </properties>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.LayoutWidgetTypeHandler
          </handler-class>
        </widgetType>
    
        <widgetType name="avatar">
          <configuration>
            <sinceVersion>5.5</sinceVersion>
            <title>User Profile Avatar</title>
            <description>
              Widget allowing to upload a picture for the user
              avatar.
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/avatar_widget_template.xhtml
          </property>
        </widgetType>
        <widgetType name="summary_user_preferences">
          <configuration>
            <sinceVersion>5.6</sinceVersion>
            <title>User Profile Summary</title>
            <description>
              <p>This widget displays the user preferences layout.</p>
            </description>
            <categories>
              <category>configuration_not_ready</category>
            </categories>
            <supportedModes>
              <mode>view</mode>
            </supportedModes>
            <!-- no configurable properties -->
          </configuration>
          <handler-class>
            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
          </handler-class>
          <property name="template">
            /widgets/summary/user_preferences_widget_template.xhtml
          </property>
        </widgetType>
      </extension>